openapi: 3.0.1
info:
contact:
email: support@instana.com
name: © Instana
url: 'http://instana.com'
termsOfService: 'https://www.instana.com/terms-of-use/'
title: Instana REST API documentation
version: 1.307.1417
x-ibm-ahub-try: true
x-logo:
altText: instana logo
backgroundColor: '#FAFBFC'
url: header-logo.svg
description: "Searching for answers and best pratices? Check our [IBM Instana Community](https://community.ibm.com/community/user/aiops/communities/community-home?CommunityKey=58f324a3-3104-41be-9510-5b7c413cc48f).\n\n
\n

\n
\n Our API documentation is moving to \n API Hub\n\t — please update your bookmarks now, as the current site will be deprecated after Release-306.\n \n
\n\n## Overview\nThe Instana REST API provides programmatic access to the Instana platform. It can be used to retrieve data available through the Instana UI Dashboard -- metrics, events, traces, etc -- and also to automate configuration tasks such as user management.\n\n### Navigating the API documentation\nThe API endpoints are grouped by product area and functionality. This generally maps to how our UI Dashboard is organized, hopefully making it easier to locate which endpoints you'd use to fetch the data you see visualized in our UI. The [UI sections](https://www.ibm.com/docs/en/instana-observability/current?topic=working-user-interface#navigation-menu) include:\n- Websites & Mobile Apps\n- Applications\n- Infrastructure\n- Synthetic Monitoring\n- Events\n- Automation\n- Service Levels\n- Settings\n- etc\n\n### Rate Limiting\nA rate limit is applied to API usage. Up to 5,000 calls per hour can be made. How many remaining calls can be made and when this call limit resets, can inspected via three headers that are part of the responses of the API server.\n\n- **X-RateLimit-Limit:** Shows the maximum number of calls that may be executed per hour.\n- **X-RateLimit-Remaining:** How many calls may still be executed within the current hour.\n- **X-RateLimit-Reset:** Time when the remaining calls will be reset to the limit. For compatibility reasons with other rate limited APIs, this date is not the date in milliseconds, but instead in seconds since 1970-01-01T00:00:00+00:00.\n\n### Further Reading\nWe provide additional documentation for our REST API in our [product documentation](https://www.ibm.com/docs/en/instana-observability/current?topic=apis-web-rest-api). Here you'll also find some common queries for retrieving data and configuring Instana.\n\n## Getting Started with the REST API\n\n### API base URL\nThe base URL for an specific instance of Instana can be determined using the tenant and unit information.\n- `base`: This is the base URL of a tenant unit, e.g. `https://test-example.instana.io`. This is the same URL that is used to access the Instana user interface.\n- `apiToken`: Requests against the Instana API require valid API tokens. An initial API token can be generated via the Instana user interface. Any additional API tokens can be generated via the API itself.\n\n### Curl Example\nHere is an Example to use the REST API with Curl. First lets get all the available metrics with possible aggregations with a GET call.\n\n```bash\ncurl --request GET \\\n --url https://test-instana.instana.io/api/application-monitoring/catalog/metrics \\\n --header 'authorization: apiToken xxxxxxxxxxxxxxxx'\n```\n\nNext we can get every call grouped by the endpoint name that has an error count greater then zero. As a metric we could get the mean error rate for example.\n\n```bash\ncurl --request POST \\\n --url https://test-instana.instana.io/api/application-monitoring/analyze/call-groups \\\n --header 'authorization: apiToken xxxxxxxxxxxxxxxx' \\\n --header 'content-type: application/json' \\\n --data '{\n \"group\":{\n \"groupbyTag\":\"endpoint.name\"\n },\n \"tagFilters\":[\n \t{\n \t\t\"name\":\"call.error.count\",\n \t\t\"value\":\"0\",\n \t\t\"operator\":\"GREATER_THAN\"\n \t}\n ],\n \"metrics\":[\n \t{\n \t\t\"metric\":\"errors\",\n \t\t\"aggregation\":\"MEAN\"\n \t}\n ]\n }'\n```\n\n### Generating REST API clients\n\nThe API is specified using the [OpenAPI v3](https://github.com/OAI/OpenAPI-Specification) (previously known as Swagger) format.\nYou can download the current specification at our [GitHub API documentation](https://instana.github.io/openapi/openapi.yaml).\n\nOpenAPI tries to solve the issue of ever-evolving APIs and clients lagging behind. Please make sure that you always use the latest version of the generator, as a number of improvements are regularly made.\nTo generate a client library for your language, you can use the [OpenAPI client generators](https://github.com/OpenAPITools/openapi-generator).\n\n#### Go\nFor example, to generate a client library for Go to interact with our backend, you can use the following script; mind replacing the values of the `UNIT_NAME` and `TENANT_NAME` environment variables using those for your tenant unit:\n\n```bash\n#!/bin/bash\n\n### This script assumes you have the `java` and `wget` commands on the path\n\nexport UNIT_NAME='myunit' # for example: prod\nexport TENANT_NAME='mytenant' # for example: awesomecompany\n\n//Download the generator to your current working directory:\nwget https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/4.3.1/openapi-generator-cli-4.3.1.jar -O openapi-generator-cli.jar --server-variables \"tenant=${TENANT_NAME},unit=${UNIT_NAME}\"\n\n//generate a client library that you can vendor into your repository\njava -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g go \\\n -o pkg/instana/openapi \\\n --skip-validate-spec\n\n//(optional) format the Go code according to the Go code standard\ngofmt -s -w pkg/instana/openapi\n```\n\nThe generated clients contain comprehensive READMEs, and you can start right away using the client from the example above:\n\n```go\nimport instana \"./pkg/instana/openapi\"\n\n// readTags will read all available application monitoring tags along with their type and category\nfunc readTags() {\n\tconfiguration := instana.NewConfiguration()\n\tconfiguration.Host = \"tenant-unit.instana.io\"\n\tconfiguration.BasePath = \"https://tenant-unit.instana.io\"\n\n\tclient := instana.NewAPIClient(configuration)\n\tauth := context.WithValue(context.Background(), instana.ContextAPIKey, instana.APIKey{\n\t\tKey: apiKey,\n\t\tPrefix: \"apiToken\",\n\t})\n\n\ttags, _, err := client.ApplicationCatalogApi.GetApplicationTagCatalog(auth)\n\tif err != nil {\n\t\tfmt.Fatalf(\"Error calling the API, aborting.\")\n\t}\n\n\tfor _, tag := range tags {\n\t\tfmt.Printf(\"%s (%s): %s\\n\", tag.Category, tag.Type, tag.Name)\n\t}\n}\n```\n\n#### Java\nFollow the instructions provided in the official documentation from [OpenAPI Tools](https://github.com/OpenAPITools) to download the [openapi-generator-cli.jar](https://github.com/OpenAPITools/openapi-generator?tab=readme-ov-file#13---download-jar).\n\nDepending on your environment, use one of the following java http client implementations which will create a valid client for our OpenAPI specification:\n```\n//Nativ Java HTTP Client\njava -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8 --library native\n\n//Spring WebClient\njava -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8,hideGenerationTimestamp=true --library webclient\n\n//Spring RestTemplate\njava -jar openapi-generator-cli.jar generate -i https://instana.github.io/openapi/openapi.yaml -g java -o pkg/instana/openapi --skip-validate-spec -p dateLibrary=java8,hideGenerationTimestamp=true --library resttemplate\n\n```\n"
servers:
- description: Instana Backend
url: 'https://{unit}-{tenant}.instana.io'
variables:
tenant:
default: tenant
description: Customer tenant unit
unit:
default: unit
description: Customer tenant name
- description: Instana Self-Hosted Backend
url: 'https://{domain}'
variables:
domain:
default: example.com
description: Customer Self-Hosted domain
tags:
- name: Infrastructure Analyze
description: |-
This endpoint group exposes the functions that are used by the Instana **Analyze Infrastructure** dashboards.
Two of the endpoints provide a [list of entity types](#operation/getAvailablePlugins) and [metrics for an entity type](#operation/getAvailableMetrics).
It is also possible to [search and filter entities](#operation/getEntities) and [aggregate metrics on similar entities](#operation/getEntityGroups).
## Important notes
### Prerequisites
For self-hosted installations, BeeInstana is required for this endpoint group.
See this [documentation for enabling BeeInstana](https://www.ibm.com/docs/en/instana-observability/current?topic=premises-installing-instana-backend-docker#beeinstana-metric-pipeline-beta).
### Timeframe
**timeFrame** As in the Instana dashboards, you can specify the timeframe for metrics retrieval.
```
windowSize to
(ms) (unix-timestamp)
<----------------------|
```
The timeFrame might be adjusted to fit the metric granularity so that there is no partial bucket. For example, if the query timeFrame is 08:02 - 09:02 and the metric granularity is 5 minutes, the timeFrame will be adjusted to 08:05 - 09:00. The adjusted timeFrame will be returned in the response payload. If the query does not have any metric with specified granularity, a default granularity will be used for adjustment.
### Metrics
**metric** refers to the metric name. Query the [list of available metrics](#operation/getAvailableMetrics) for existing metrics on an entity type.
This is to be used when requesting metrics or when ordering by a metric. For **order.by**, `label` may also be used.
### Filtering
As in the Instana dashboards, you can **filter by a tag**. Query the [infrastructure tag catalog](#operation/getInfrastructureCatalogMetrics) to retrieve a list of available tags.
- name: Infrastructure Metrics
description: "This endpoint retrieves the metrics for infrastructure components.\r\n\r\n### Mandatory Parameters\r\n**plugin:** Plugins are entities' for which we collect metrics, for example : \"Host\", \"Cassandra node\", \"Cassandra Connection\".\r\n\r\nThe available plugins are depending on the system you are monitoring. Therefore you will need to [retrieve plugins](#operation/getInfrastructureCatalogPlugins) where we have data for you.\r\n\r\n**query or snapshotIds:** choose between dynamic focus query or [snapshotId](#operation/getSnapshots) (a unique identifier the metrics are assigned to)\r\n\r\nTo make the it easy to get started this endpoint has two modes that can be used for metrics retrieval:\r\n1. Search metrics with a query\r\n You are using the [Dynamic Focus](https://www.ibm.com/docs/en/instana-observability/current?topic=instana-filtering-dynamic-focus) query to filter the result.\r\n To get usable search parameters you can either query the search [catalog endpoint](#operation/getInfrastructureCatalogSearchFields) or use the UI\r\n\r\n1. Search for metrics for snapshotIds\r\n For advanced use cases, pagination for example, its recommended to use fixed snapshotIds.\r\n\r\n**metrics:** Id of the exact metric you want to retrieve, eg. \"cpu.user\", \"clientrequests.read.mean\"\r\n\r\nOnce you have selected the plugin you can define up to five metrics you want to retrieve with the call.\r\nPlease use our [metrics catalog call](#operation/getInfrastructureCatalogMetrics) to get the available metrics for the selected plugin.\r\n\r\n### Optional Parameters\r\n**timeFrame** As in our UI you can specify the timeframe for metrics retrieval.\r\n```\r\n windowSize to\r\n (ms) (unix-timestamp)\r\n<----------------------|\r\n```\r\n\r\n**rollup:** Depending on the selected timeFrame its possible to selected the rollup.\r\n\r\nThe available rollup is depending on two factors:\r\n1. [Retention times](https://www.ibm.com/docs/en/instana-observability/current?topic=policies#data-retention-policy)\r\n\r\n\tFor example if you select a to timestamp that is 3 Weeks in the past the most accurate rollup you can query for would be 1min\r\n1. Size of the selected windowSize\r\n\r\n\tThe limitation is that we only return 600 Data points per call, thus if you select a windowSize of 1hour the most accurate rollup you can query for would be 5s\r\n\r\nValid rollups are:\r\n\r\n| rollup | value |\r\n| ------------- | ------------- |\r\n| 1 second | 1 |\r\n| 5 seconds | 5 |\r\n| 1 minute | 60 |\r\n| 5 minutes | 300 |\r\n| 1 hour | 3600 |\r\n\r\n\r\n### Defaults\r\n**timeframe:**\r\n```\r\n\"timeFrame\": {\r\n\t\"windowSize\": 60000,\r\n\t\"to\": {current timestamp}\r\n}\r\n```\r\n\r\n**rollup**: 1\r\n\r\n### Limits\r\n1000 Calls per Hour\r\n\r\nTo keep the response size reasonable the limit is set to 30 retrieved items. To implement pagination see [1]\r\n\r\nA maximum of 600 data points are returned per metric.\r\n\r\nYou can only retrieve metrics [above](https://docs.instana.io/core_concepts/dynamic_graph/) the selected Dynamic Focus filter. Work around can be found under [2]\r\n\r\nThe following example will return an empty result, because the selected plugin \"host\" is below the dynamic focus filter \"java\" :\r\n```\r\nquery=entity.selfType:java\r\nplugin=host\r\nmetric=cpu.steal\r\n```\r\n### Tips\r\n[1] **Pagination**\r\nSometimes the query you are interested in returns more than 30 items, you have to use the [find snapshots](#operation/getSnapshots) endpoint to get a full list of Ids for your query and then use the [metrics endpoint](#operation/getInfrastructureMetrics) with the returned snapshotIds\r\n\r\n\r\n[2] **Application filter**\r\nYou can work around the aforementioned limitation by querying one of the crosscutting entities like applications, services and endpoints. For the example above you could create an Application with jvm.version isPresent filter. And search Query then for the created application name\r\n```\r\nquery=entity.application.name:\"Java Applications\"\r\n```\r\n"
- name: Infrastructure Resources
- name: Infrastructure Catalog
description: |
The endpoints of this group retrieve all available resources to query infrastructure metrics.
- name: Infrastructure Topology
- name: Logging Analyze
- name: Application Metrics
description: "The endpoints of this group retrieve the metrics for defined applications, discovered services and endpoints.\r\n### Mandatory Parameters\r\n\r\n**metrics** A list of metric objects that define which metric should be returned, with the defined aggregation. Each metrics objects consists of minimum two items:\r\n1. *metric* select a particular metric to get a list of available metrics query the [catalog endpoint](#operation/getApplicationCatalogMetrics).\r\n2. *aggregation* depending on the selected metric different aggregations are available e.g. SUM, MEAN, P95. The aforementioned [catalog endpoint](#operation/getApplicationCatalogMetrics) gives you the metrics with the available aggregations.\r\n\r\n**Note**: The above mentioned list of available metrics with its supported metrics can also be found in the section **Supported Aggregation on Application metrics** below.\r\n\r\n### Optional Parameters\r\n\r\n**metrics** Default you will get an aggregated metric with for the selected timeframe \r\n\r\n* *granularity* \r\n * If it is not set you will get a an aggregated value for the selected timeframe\r\n * If the granularity is set you will get data points with the specified granularity **in seconds**\r\n * The granularity should not be greater than the `windowSize` (important: `windowSize` is expressed in **milliseconds**)\r\n * The granularity should not be set too small relative to the `windowSize` to avoid creating an excessively large number of data points (max 600)\r\n \r\n**pagination** if you use pagination you most probably want to fix the timeFrame for the retrieved metrics\r\n1. *page* select the page number you want to retrieve\r\n2. *pageSize* set the number of applications you want to return with one query\r\n\r\n**order** You can order the returned items alphanumerical by label, either ascending or descending\r\n1. *by* if the granularity is set to 1 you can use the metric name eg. \"latency.p95\" to order by that value\r\n1. *direction* either ascending or descending\r\n\r\n**timeFrame** As in our UI you can specify the timeframe for metrics retrieval.\r\n```\r\n windowSize to\r\n (ms) (unix-timestamp)\r\n<----------------------|\r\n```\r\n\r\nThe timeFrame might be adjusted to fit the metric granularity so that there is no partial bucket. For example, if the query timeFrame is 08:02 - 09:02 and the metric granularity is 5 minutes, the timeFrame will be adjusted to 08:05 - 09:00. The adjusted timeFrame will be returned in the response payload. If the query does not have any metric with granularity, a default granularity will be used for adjustment.\r\n\r\nTo narrow down the result set you have four options to search for an application.\r\n\r\n**nameFilter | applicationId | serviceId | endpointId**\r\n\r\n* *nameFilter:* filter by name with \"contains\" semantic.\r\n\r\n* *applicationId:* search directly for an application by applicationId \r\n\r\n* *serviceId:* search for applications that include a particular service by serviceId\r\n\r\n* *endpointId:* search for applications that include a particular endpoint by endpointId\r\n\r\n### Defaults\r\n\r\n**metrics**\r\n* *granularity:* 1\r\n\r\n**order**\r\n* by application label ascending.\r\n\r\n**timeFrame**\r\n```\r\n\"timeFrame\": {\r\n\t\"windowSize\": 60000,\r\n\t\"to\": {current timestamp}\r\n}\r\n```\r\n**nameFilter | applicationId | serviceId | endpointId**\r\n* no filters are applied in the default call\r\n\r\n\r\n## Supported Aggregation on Application Metrics\r\n\r\n| Metric | Description | Allowed Aggregations |\r\n|------------------|--------------------------------------------------------------------------------------------|----------------------|\r\n| `calls` | Number of received calls | `PER_SECOND`, `SUM` |\r\n| `erroneousCalls` | The number of erroneous calls |`PER_SECOND`, `SUM` |\r\n| `latency` | Latency of received calls in milliseconds | `P25`, `P50`, `P75`, `P90`, `P95`, `P98`, `P99`, `SUM`, `MEAN`, `MAX`, `MIN` |\r\n| `errors` | Error rate of received calls. A value between 0 and 1 | `MEAN` |\r\n| `applications` | The number of Application Perspectives |`DISTINCT_COUNT` |\r\n| `services` | The number of Services |`DISTINCT_COUNT` |\r\n| `endpoints` | The number of Endpoints |`DISTINCT_COUNT` |\r\n| `http.1xx` | Counts the number of occurrences of HTTP status codes where 100 <= status code <= 199 |`PER_SECOND`, `SUM` |\r\n| `http.2xx` | Counts the number of occurrences of HTTP status codes where 200 <= status code <= 299 |`PER_SECOND`, `SUM` |\r\n| `http.3xx` | Counts the number of occurrences of HTTP status codes where 300 <= status code <= 399 |`PER_SECOND`, `SUM` |\r\n| `http.4xx` | Counts the number of occurrences of HTTP status codes where 400 <= status code <= 499 |`PER_SECOND`, `SUM` |\r\n| `http.5xx` | Counts the number of occurrences of HTTP status codes where 500 <= status code <= 599 |`PER_SECOND`, `SUM` |\r\n"
- name: Application Catalog
description: |-
The endpoints of this group retrieve all available resources to query application metrics. It includes:
**Catalog for Application Tags**
Showing a list of tags which is used for building a query in various use cases within Instana, for example, subset of tags which are available for grouping in traces in Unbounded Analytics for Traces.
**Catalog for metrics**
Showing a list of metrics that are available for aggregations. For example, Call count can have 2 types of aggrgations: sum and per second.
- name: Application Resources
description: |-
The API endpoints of this group provides insights into resources created and discovered. It includes:
**Application Perspectives**
Returns a list of predefined application perspectives, offering an organized view of application perspectives within the system.
**Discovered Services Inside Application Perspectives**
Fetches services identified within the context of specific application perspectives.
**Discovered Services and Endpoints**
Provides a detailed list of endpoints associated with services, enabling deeper visibility into service dependencies and interactions.
It also provides a detailed list of services.
These API endpoints collectively serve as a crucial tool for managing and analyzing application-level resource structures.
- name: Application Analyze
description: "The API endpoints of this group expose our analyze functionality.\nIt includes:\n\n**Grouped Metrics**\n\nTwo group endpoints to retrieve metrics for traces and calls. \n\n**List of traces and its detailed information**\n\nYou can also [search and filter all traces](#operation/getTraces) and retrieve [all details](#operation/getTraceDownload) attached to the trace. Furthermore, you can also retrive [all details](#operation/getCallDetails) of a call.\n\n## Parameters\n### Mandatory Parameters (only for group Endpoints):\n**group** It is mandatory to select a tag by which the calls and traces are grouped for the distinct endpoint call\n* *groupByTag* select a tag by which the calls and traces are grouped \n * a full list of available tags can be retrieved from the [application tag catalog](#operation/getApplicationTagCatalog)\n * for the trace endpoint only two tags are reasonable and working: `trace.endpoint.name` and `trace.service.name` which indicate the entry endpoint or service for the trace\n* *groupByTagSecondLevelKey* tags of type KEY_VALUE_PAIR need a second parameter e.g for `kubernetes.deployment.label` you would need provide the label you want to groupBy here.\n\n### Optional Parameters\n**pagination**\n* *offset* set the starting point for the data retrieval\n* *retrievalSize* you set the number of returned values\n* *ingestionTime* if you want to paginate through your result set you are interested in having the data for a fixed time point, the results set has a `cursor` class that has a ingestionTime property that indicates what you have to enter here.\n**order**\n\n**timeFrame** As in our UI you can specify the timeframe for metrics retrieval.\n```\n windowSize to\n (ms) (unix-timestamp)\n<----------------------|\n```\nThe timeFrame might be adjusted to fit the metric granularity so that there is no partial bucket. For example, if the query timeFrame is 08:02 - 09:02 and the metric granularity is 5 minutes, the timeFrame will be adjusted to 08:05 - 09:00. The adjusted timeFrame will be returned in the response payload. If the query does not have any metric with granularity, a default granularity will be used for adjustment.\n\n**tagFilters** As in the UI you able to filter your query by a tag. To get a list of all available tags you can query the [application tag catalog](#operation/getApplicationTagCatalog)\n* *name* The name of the tag as returned by the catalog\n* *value* The filter value of the tag, possible types are:\n * \"STRING\" alphanumerical values, valid operators: \"EQUALS\", \"CONTAINS\", \"NOT_EQUAL\", \"NOT_CONTAIN\", \"NOT_EMPTY\", \"IS_EMPTY\"\n * \"NUMBER\" numerical values, valid operators: \"EQUALS\", \"LESS_THAN\" \"GREATER_THAN\"\n * \"KEY_VALUE_PAIR\" \n* *operator* one of the valid operators for the type of the selected tag\n\n**metrics** A list of metric objects that define which metric should be returned, with the defined aggregation. Each metrics objects consists of minimum two items:\n1. *metric* select a particular metric, available metrics in this context are\n * Latency Mean\n * Error Rate\n * Traces Sum\n2. *aggregation* depending on the selected metric different aggregations are available e.g. SUM, MEAN, P95. The aforementioned [catalog endpoint](#operation/getApplicationCatalogMetrics) gives you the metrics with the available aggregations.\n\n**Note**: The above mentioned list of available metrics with its supported metrics can also be found in [Get grouped call metrics](#operation/getCallGroup) and [Get grouped trace metrics](#operation/getTraceGroups).\n\n3. *granularity* \n * If it is not set you will get a an aggregated value for the selected timeframe\n * If the granularity is set you will get data points with the specified granularity **in seconds**\n * The granularity should not be greater than the `windowSize` (important: `windowSize` is expressed in **milliseconds**)\n * The granularity should not be set too small relative to the `windowSize` to avoid creating an excessively large number of data points (max 600)\n\n### Defaults:\n**timeFrame**\n```\n\"timeFrame\": {\n\t\"windowSize\": 60000,\n\t\"to\": {current timestamp}\n}\n```\n"
- name: Application Settings
description: |-
The API endpoints of this group provides a way to create, read, update, delete (CRUD) for various configuration settings. It includes:
**Application Perspectives Configuration**
Set of APIs which perform CRUD operations for Application Perspectives.
**Endpoint Mapping Configuration**
Set of APIs which perform CRUD operations when user wants to customise the endpoint mapping rules.
**Service Mapping Configuration**
Set of APIs which perform CRUD operations when user wants to customise the service mapping rules.
**Manual Service Mapping Configuration**
Set of **experimental** APIS which perform CRUD operations when user wants to tweak the service mapping rules when automatic service mapping rules gives undesired results.
- name: Application Topology
- name: Website Metrics
- name: Website Catalog
description: |
The endpoints of this group retrieve all available resources to query website metrics.
- name: Website Configuration
- name: Website Analyze
description: "The following four endpoints expose our analyze functionality.\n\n## Mandatory Parameters :\n\n**type** \n\n**group (only for group Endpoints)** It is mandatory to select a tag by which the beacons are grouped for the distinct endpoint call\n* *groupByTag* select a tag by which the beacons are grouped \n * a full list of available tags can be retrieved from the [website tag catalog](#operation/getWebsiteCatalogTags)\n* *groupByTagSecondLevelKey* tags of type KEY_VALUE_PAIR need a second parameter e.g for `beacon.meta` you would need provide the label you want to groupBy here.\n\n\n## Optional Parameters:\n\n**pagination**\n* *offset* set the starting point for the data retrieval\n* *retrievalSize* you set the number of returned values\n* *ingestionTime* if you want to paginate through your result set you are interested in having the data for a fixed time point, the results set has a `cursor` class that has a ingestionTime property that indicates what you have to enter here.\n\n**order**\n\n**timeFrame** As in our UI you can specify the timeframe for metrics retrieval.\n```\n windowSize to\n (ms) (unix-timestamp)\n<----------------------|\n```\n\n**tagFilterExpression** As in the UI you are able to filter your query using tags and operators such as `AND` and `OR`. To get a list of all available tags you can query the [tag catalog](#operation/getWebsiteCatalogTags)\n* *name* The name of the tag as returned by the catalog, e.g `beacon.meta`, `beacon.http.path`\n* *value* The filter value of the tag, possible types are:\n * \"STRING\" alphanumerical values, valid operators: \"EQUALS\", \"CONTAINS\", \"NOT_EQUAL\", \"NOT_CONTAIN\", \"NOT_EMPTY\", \"IS_EMPTY\"\n * \"NUMBER\" numerical values, valid operators: \"EQUALS\", \"LESS_THAN\" \"GREATER_THAN\"\n * \"KEY_VALUE_PAIR\" of you are using meta tags `beacon.meta` you can filter for those by setting `yourMetaTagName=foo` in the value field, valid operators: \"EQUALS\", \"CONTAINS\", \"NOT_EQUAL\", \"NOT_CONTAIN\", \"NOT_EMPTY\", \"IS_EMPTY\"\n* *operator* one of the valid operators for the type of the selected tag\n\n**metrics** A list of metric objects that define which metric should be returned, with the defined aggregation. Each metrics objects consists of minimum two items:\n1. *metric* select a particular metric, available metrics in this context are\n * Latency Mean\n * Error Rate\n2. *aggregation* depending on the selected metric different aggregations are available e.g. SUM, MEAN, P95. The aforementioned [catalog endpoint](#operation/getWebsiteCatalogMetrics) gives you the metrics with the available aggregations.\n3. *granularity* \n * If it is not set you will get a an aggregated value for the selected timeframe\n * If the granularity is set you will get data points with the specified granularity **in seconds**\n * The granularity should not be greater than the `windowSize` (important: `windowSize` is expressed in **milliseconds**)\n * The granularity should not be set too small relative to the `windowSize` to avoid creating an excessively large number of data points (max 600)\n \n\n## Defaults:\n\n**timeFrame**\n```\n\"timeFrame\": {\n\t\"windowSize\": 60000,\n\t\"to\": {current timestamp}\n}\n```\n"
- name: Mobile App Metrics
- name: Mobile App Catalog
- name: Mobile App Configuration
- name: Mobile App Analyze
- name: Events
- name: Event Settings
- name: Application Alert Configuration
description: |-
The API endpoints of this group can be used to manage Application alert configurations.
## Parameters:
- **id:** ID of the application alert config which needs to be updated.
- **name:** Name for the application alert configuration.
- **description:** Description for the application alert configuration.
- **severity:** The severity of the alert when triggered, which is either `5` (Warning), or `10` (Critical).
- **triggering:** Optional flag to indicate whether also an Incident is triggered or not.
- **applications:** Selection of application, services and endpoints in scope.
The selection defines a tree of included or excluded sub entities. The defined `inclusive` flag defines whether this node and his child nodes are included (`inclusive: true`) or excluded (`inclusive: false`) by default. Empty selections or unnecessary selections are not allowed.
#### Example 1: Select an entire Application Perspective
To select the entire application with ID `` including all its services and endpoints, simply provide the following selection object:
```json
"applications": {
"": {
"applicationId": ""
}
}
```
Leaf nodes of the selection tree default to `true` if no `inclusive` value is defined.
#### Example 2: Specific selection of services and endpoints
To select not the entire application with ID ``, but only the entire serivces Service1 with ID `` and Service2 with ID ``, with the exception of endpoint `` of Service2. And in addition, only Endpoint `` of Service3 with id ``, then use the following selection:
```json
"applications": {
"": {
"applicationId": "",
"inclusive": false,
"services": {
"": {
"serviceId": ""
},
"": {
"serviceId": "",
"inclusive": true,
"endpoints": {
"": {
"endpointId": "",
"inclusive": false
}
}
},
"": {
"serviceId": "",
"inclusive": false,
"endpoints": {
"": {
"endpointId": "",
"inclusive": true
}
}
}
}
}
}
```
- **boundaryScope:** Boundary scope of the Application Perspective
- **tagFilterExpression:** Boolean expression of tag filters to define the scope of relevant calls.
- **includeInternal:** Optional flag to indicate whether also internal calls are included in the scope or not. The default is `false`.
- **includeSynthetic:** Optional flag to indicate whether also synthetic calls are included in the scope or not. The default is `false`.
- **evaluationType:** The alert evaluation type of the alert configuration. For example, this allows to configure whether calls of the configured scope is aggregated to a single metric that is then considered for alerting (`"PER_AP"`), or whether each service of an Appliction Perspective is is evaluated individually (`"PER_AP_SERVICE"`).
- **granularity:** The evaluation granularity used for detection of violations of the defined threshold. In other words, it defines the size of the tumbling window used.
- **rule:** Indicates the type of rule this alert configuration is about.
- **threshold:** Indicates the type of threshold this alert rule is evaluated on .
- **timeThreshold:** Indicates the type of violation of the defined threshold.
- **alertChannelIds:** List of IDs of alert channels defined in Instana.
## Deprecated Parameters
- **applicationId:** Unique ID of the Application Perspective. It is replaced by **applications**.
- name: Global Application Alert Configuration
description: |
The API endpoints of this group can be used to manage Global Application alert configurations.
## Parameters:
All parameters and deprecated parameters are similar to Application Alert Configuration except **applications**
- **applications:** Selection of applications, services and endpoints in scope. It allows more than one application to define a global rule across different Application Perspectives.
#### Example: Select multiple Application Perspectives
To select multiple applications with IDs ``, `` including all its services and endpoints, simply provide the following selection object:
```json
"applications": {
"": {
"applicationId": ""
},
"": {
"applicationId": ""
}
}
```
- name: Infrastructure Alert Configuration
- name: Synthetic Alert Configuration
description: |+
The API endpoints of this group can be used to manage alert configurations for Synthetic Monitoring.
## Parameters:
- **id:** ID of the alert configuration.
- **name:** Name for the synthetic alert configuration, which is used as the title of the event when triggered.
- **description:** Description for the synthetic alert configuration, which is used as the detials of the triggerd event.
- **severity:** The severity of the alert when triggered, which is either `5` (Warning), or `10` (Critical).
- **syntheticTestIds:** List of synthetic test IDs this alert configuration is applied to. Check out APIs in [Synthetic Monitoring](#tag/Synthetic-Settings) to e.g. get a [list of all synthetic tests](#operation/getSyntheticTests) available.
- **rule:** Indicates the type of rule this alert configuration is about. The only `alertType` available so far is `"failure"`, where the metric name `"status"` is expected. This boolean metric requires no threshold to be specified, because value of `status=0` indicates a test failure.
- **timeThreshold:** Defines the triggering condition in time, such as how many consecutive test failures are required to open an event. Setting a higher value for `violationsCount` helps to reduce the number of alerts.
- **alertChannelIds:** List of IDs of alert channels defined in Instana.
- name: Host Agent
description: 'Endpoints of this group can be used to list and configure host agents. '
- name: User
- name: Groups
description: |
Groups are used to permit individual users to perform specific actions and get visibility to an access scope. Each user can be assigned to multiple groups, every one coming with its associated permissions. In addition a group sets the access scope and you can configure the visible areas for the group members.
When you are a member of multiple groups, your permissions have an additive effect.
Granting access to certain entities within Instana (e.g. Applications, Kubernetes Clusters etc.) is done through a corresponding entry in the `permissionSet` payload.
- name: Teams
- name: Role
- name: Audit Log
- name: API Token
description: |-
API Tokens are unique strings that are used to authenticate and authorize access to the API. These are used to secure API endpoints and ensure that only authorized users can access certain functions. When you raise a request to the API, you must include the API Token in the request header to verify your identity.
Instana API Tokens are specific to Tenant Unit (TU) and cannot be used across TUs. Each token has its associated set of permissions, which are preselected when you create the token.
- name: Session Settings
- name: Maintenance Configuration
description: |
### Maintenance Windows
Maintenance windows allow you to mute alerts.
### Types of Maintenance Configurations
**One-Time**: Executed once at a fixed scheduled time, after which the configuration expires.
**Recurrent**: Executed on a schedule basis (e.g., daily, weekly, monthly, or yearly).
### Pausing or Resuming Maintenance Configurations
Maintenance windows can be paused or resumed.
If a maintenance configuration is paused, alerts for the events matching the scope of the configuration will no longer be muted.
- name: Synthetic Calls
description: |-
The API endpoints of this group can fetch, update and delete the synthetic endpoint configuration rules.
**Note:** There are some following restrictions to use `matchSpecification` parameter for Synthetic endpoint configuration:
1. `matchSpecification.type` should be `LEAF`.
2. `matchSpecification.key` should be always be `endpoint.name`.
3. `matchSpecification.operator` should be among the following options: `EQUALS`, `CONTAINS`, `STARTS_WITH`, `ENDS_WITH`, `NOT_STARTS_WITH`, `NOT_ENDS_WITH`.
4. `matchSpecification.entity` should be `DESTINATION` as health check endpoint is considered as a destination endpoint.
- name: Releases
description: |-
These APIs can be used to create, update, delete and fetch releases.
## Mandatory Parameters when sending a request:
1. **Create release**
- `name` and `start` are mandatory parameters to create a release with Global scope.
- `applications` is a mandatory parameter **along with** Global scope mandatory parameters to create a release with Application Perspective scope.
- `services.name` is a mandatory parameter **along with** Global scope mandatory parameters to create a release with Service scope.
- `services.scopedTo.applications` is a mandatory parameter **along with Service scope** mandatory parameters to create a release with Service within an Application Perspective scope.
2. **Delete release**
- `releaseId` is a mandatory path parameter.
3. **Get release**
- `releaseId` is a mandatory path parameter.
4. **Update release**
- `releaseId` is a mandatory path parameter.
- Same mandatory parameters as **Create release**.
- name: SLI Settings
description: |-
## Deprecated Parameters
**tagFilters** The list of tag filters. It is replaced by **tagFilterExpression**
- name: SLI Report
- name: Health
- name: Custom Dashboards
description: |-
You can use these API endpoints to manage custom dashboards. We recommend
that you leverage the `Edit as JSON` feature found within our user interface
to construct the desired request payloads. Specifically to help you build
correct widget configurations and access rules.
To identify the correct values for the `relatedId` field of the access rules,
we recommend using the `/api/custom-dashboard/shareable-users` and
`/api/custom-dashboard/shareable-api-tokens` endpoints. These endpoints return
our internal IDs for users and API tokens.
- name: Usage
- name: Synthetic Catalog
- name: Synthetic Metrics
description: |
The endpoints of this group retrieve metrics for Synthetic test results.
### Mandatory Parameters
**metrics** A list of metric objects that define which metric should be returned, with the defined aggregation. Each metrics objects consists of minimum two items:
1. *metric* select a particular metric. This is the list of available metrics for all types of Synthetic Tests:
synthetic.metricsResponseTime (ms), synthetic.metricsResponseSize (bytes), synthetic.metricsStatusCode (an integer represents an HTTP response code, e.g., 200, 401, 500), synthetic.metricsRequestSize (bytes),
synthetic.metricsUploadSpeed (bytes per second), synthetic.metricsDownloadSpeed (bytes per second),
synthetic.metricsRedirectTime (ms), synthetic.metricsRedirectCount, synthetic.metricsConnectCount, synthetic.metricsStatus (an integer, 1-success or 0-failure), synthetic.successRate, and synthetic.tags (list of custom properties and values).
The following metrics are only available for the HTTPAction type Synthetic Tests: synthetic.metricsBlocking (bytes), synthetic.metricsDns (bytes), synthetic.metricsConnect (bytes), synthetic.metricsSsl (bytes),
synthetic.metricsSending (bytes), synthetic.metricsWaiting (bytes), and synthetic.metricsReceiving (bytes).
The metric synthetic.customMetrics (list of custom metrics and values) is only available for SSLCertificate and DNS tests. For SSLCertificate, the custom metrics are returned as metrics. For DNS, the custom metrics are returned in the *ismDetails* field.
The metric synthetic.tags adds the latest list of custom properties to the response.
2. *aggregation* Depending on the selected metric, different aggregations are available e.g., SUM, MEAN, P90 (90th percentile), DISTINCT_COUNT, and MAX. MAX is only allowed for synthetic.tags. Metric synthetic.successRate only accepts MEAN.
**timeFrame** As in our UI you can specify the timeframe for metrics retrieval.
```
windowSize to
(ms) (unix-timestamp)
<----------------------|
```
The timeFrame might be adjusted to fit the metric granularity so that there is no partial bucket. For example, if the query timeFrame is 08:02 - 09:02 and the metric granularity is 5 minutes, the timeFrame will be adjusted to 08:05 - 09:00. The adjusted timeFrame will be returned in the response payload. If the query does not have any metric with granularity, a default granularity will be used for adjustment.
If **groups** includes a groupbyTag that is an array, such as synthetic.tags, the maximum windowSize is *3600000* (1 hour).
### Optional Parameters
**metrics** By default you will get an aggregated metric for the selected timeframe
* *granularity*
* If it is not set you will get an aggregated value for the selected timeframe
* If the granularity is set you will get data points with the specified granularity **in seconds**
* The granularity should not be greater than the `windowSize` (important: `windowSize` is expressed in **milliseconds**)
* The granularity should not be set too small relative to the `windowSize` to avoid creating an excessively large number of data points (max 600)
* The granularity values are the same for all metrics
**pagination** if you use pagination, fix the timeFrame for the retrieved metrics
1. *page* select the page number you want to retrieve
2. *pageSize* set the number of Synthetic test results you want to return with one query
**groups** You can group test results by one or more tags.
1. *groupbyTag* use the metric or tag name, e.g. "synthetic.applicationId", to group by its value
2. *groupbyTagSecondLevelTag* is optional. It is used to further qualify values when the *groupbyTag* is an array of key/value pairs, such as "synthetic.tags".
3. *groupbyTagEntity* is ignored and therefore does not need to be specified.
If *groups* is not specified, the default grouping is *synthetic.testId*.
An example of grouping by the custom property "region":
```
"groups": [
{
"groupbyTag": "synthetic.tags",
"groupbyTagSecondLevelTag": "region"
}
]
```
**includeAggregatedTestIds** Optionally used when not grouping by testId. Specifying *true* will return a list of tests that were included in the aggregated result for each row returned.
**tagFilterExpression** It serves as a filter to narrow down return results. Its type can be either EXPRESSION or TAG_FILTER with
logical operators "AND" or "OR".
A tagFilterExpression can specify a custom property by its key and value.
```
"tagFilterExpression": {
"type": "EXPRESSION",
"logicalOperator": "AND",
"elements": [
{
"name": "synthetic.tags",
"key": "region",
"value": "Denver",
"operator": "EQUALS"
},
{
"name": "synthetic.locationId",
"operator": "EQUALS",
"stringValue": "abcdefgXSJmQsehOWg1S"
}
]
}
```
### Defaults
**groups**
```
"groups": [
"groupbyTag": "synthetic.testId"
]
```
**includeAggregatedTestIds**
* *includeAggregatedTestIds:* *true* when grouping by synthetic.testId, otherwise *false*.
**metrics**
* *granularity:* 0
**pagination**
* If **pagination** is not specified, the entire result set is returned.
**timeFrame**
```
"timeFrame": {
"to": {current timestamp},
"windowSize": 60000
}
```
### Sample payload to get the mean synthetic.metricsResponseTIme for each Synthetic test within the specified timeFrame
```json
{
"metrics": [
{
"aggregation": "MEAN",
"metric": "synthetic.metricsResponseTime"
}],
"timeFrame": {
"to": 0,
"windowSize": 1800000
}
}
```
### Sample payload to get the mean synthetic.metricsResponseTIme for each Synthetic test within the specified timeFrame grouped by applicationId
```json
{
"metrics": [
{
"aggregation": "MEAN",
"metric": "synthetic.metricsResponseTime"
}],
"timeFrame": {
"to": 0,
"windowSize": 1800000
},
"groups": [{
"groupbyTag": "synthetic.applicationId"
}]
}
```
### Sample payload to get the synthetic.successRate for the Synthetic tests within the specified timeFrame grouped by the two custom properties region and cluster.
```json
{
"metrics": [
{
"aggregation": "MEAN",
"metric": "synthetic.successRate"
}],
"timeFrame": {
"to": 0,
"windowSize": 1800000
},
"groups": [
{
"groupbyTag": "synthetic.tags",
"groupbyTagSecondLevelKey": "region"
},
{
"groupbyTag": "synthetic.tags",
"groupbyTagSecondLevelKey": "cluster"
}]
}
```
- name: Synthetic Settings
description: |-
The API endpoints of this group can be used to manage Synthetic Locations, Synthetic Tests and Synthetic Credentials.
## Synthetic Location Properties:
- **id** Unique identifier of the location resource.
- **label** Friendly name of the location.
- **description** The description of the location.
- **locationType** Indicates if the location is managed or private.
- **playbackCapability** The playback capabilities provided by this location resource.
The playbackCapability object has the following properties:
- **syntheticType** Different types of synthetic tests that can be executed at this location.
Possible values are HTTPAction, HTTPScript, BrowserScript, WebpageAction, WebpageScript, SSLCertificate, and DNS.
The values are corresponding to the syntheticType parameter available in the createSyntheticTest endpoint.
- **browserType** Different types of supported Web browsers when creating synthetic tests for BrowserScript, WebpageAction and WebpageScript.
Right now, only Chrome and Firefox are supported.
- **geoPoint** An object includes the longitude, latitude, country name, and city name properties of a location.
- **popVersion** PoP's version
- **customProperties** An object with name/value pairs to provide additional information of the Synthetic location.
- **createdAt** The location created time, following RFC3339 standard.
- **modifiedAt** The location modified time, following RFC3339 standard.
- **observedAt** The timestamp when PoP requests a Synthetic test, following RFC3339 standard.
## Synthetic Test Properties:
- **id** Unique identifier of the Synthetic test resource.
- **label** Friendly name of the Synthetic test resource.
- **description** The description of the Synthetic test.
- **active** Indicates if the Synthetic test is started or not. The default is true.
- **applicationId** Unique identifier of the Application Perspective.
- **configuration** An object which has two properties: syntheticType and the corresponding configuration object:
- **syntheticType** The type of the Synthetic test. Supported values are HTTPAction, HTTScript, BrowserScript, WebpageAction,
WebpageScript, SSLCertificate, and DNS. The locations assigned to execute this Synthetic
test must support this syntheticType, i.e. the location's playbackCapabilities property.
- **markSyntheticCall** Flag used to control if HTTP calls will be marked as synthetic calls/endpoints in Instana backend, so they can be ignored when calculating service and application KPIs, users can also check "Hide Synthetic Calls" checkbox to hide/show them in UI.
- **retries** An integer type from 0 to 2, 0 by default.
It indicates how many attempts (max 2) will be allowed
to get a successful connection (not necessarily a successful result).
For API Simple, failures like socket hangups, gateway timeouts, and DNS lookup fails cause retires, but 404's 400's, do not.
API Script and Browser Script test will retry if script failed for any reason.
- **retryInterval** The time interval between retries in seconds. The default is 1s, max is 10s.
- **timeout** The timeout to be used by the PoP playback engines running the test. Values are in integers followed by a time unit (ms, s, m).
It is the minimum value of test configuration `timeout`, `testFrequency` and `maxTimeout` configured in PoP deployment.
- If user defined timeout value exceeds the `maxTimeout` or `testFrequency` in test configuration, the timeout value does not take effect
and PoP playback engines use the smaller one of `maxTimeout` and `testFrequency` as the actual timeout value.
- If timeout value in test configuration is not provided, the default value is **1m** for HTTPAction and HTTPScript tests.
BrowserScript, WebpageAction, and WebpageScript tests use the smaller one of `maxTimeout` and `testFrequency` as the actual timeout value.
- **XXXConfiguration** The configuration corresponding to the syntheticType. Configuration types are HTTPActionConfiguration, HTTPScriptConfiguration,
BrowserScriptConfiguration, WebpageActionConfiguration, WebpageScriptConfiguration, SSLCertificateConfiguration, and DNSConfiguration.
- **HTTPActionConfiguration** has the following properties:
- **url** The URL is being tested. It is required.
- **syntheticType** Its value is HTTPAction. It is required.
- **operation** An operation being used must be one of GET, HEAD, OPTIONS, PATCH, POST, PUT, and DELETE. By default, it is GET.
- **headers** An object with header/value pairs
- **header** The header to be sent in operation. It should not contain the terminating ':' character.
- **value** The value of the header.
- **body** The body content to send with the operation.
- **validationString** An expression to be evaluated.
- **followRedirect** A boolean type, true by default; to allow redirect.
- **allowInsecure** A boolean type, true by default; if set to true then allow insecure certificates
(expired, self-signed, etc).
- **expectStatus** An integer type, by default, the Synthetic passes for any 2XX status code.
This forces just one status code to cause a pass, including what would normally be a fail, for example, a 404.
- **expectJson** An optional object to be used to check against the test response object.
- **expectMatch** An optional regular expression string to be used to check the test response.
- **expectExists** An optional list of property labels used to check if they are present in the test response object.
- **expectNotEmpty** An optional list of property labels used to check if they are present in the test response object with a non-empty value.
- **HTTPScriptConfiguration** has the following properties:
- **script** The Javascript content, it is plain text, not base64 encoded. **script** and **scripts** are mutually exclusive.
- **scripts** Multi script package. **script** and **scripts** are mutually exclusive.
- **scriptFile** The name of the file to run
- **bundle** All required js files bundled up into a single zip file with base64 encoded
- **syntheticType** Its value is HTTPScript. It is required.
- The API Script Guide, including examples, can be found at: https://www.ibm.com/docs/en/instana-observability/current?topic=monitoring-using-api-scripts
- **BrowserScriptConfiguration** has the following properties:
- **script** A Node.js based test script, it is plain text, not base64 encoded. **script** and **scripts** are mutually exclusive.
- **scripts** Multi script package. **script** and **scripts** are mutually exclusive.
- **scriptFile** The name of the file to run
- **bundle** All required js files bundled up into a single zip file with base64 encoded
- **scriptType** The type of the script, right now, only Basic type is supported.
- **browser** The type of the browser: chrome or firefox, chrome by default.
- **recordVideo** A boolean type, false by default.
- **syntheticType** Its value is BrowserScript. It is required.
- **WebpageActionConfiguration** has the following properties:
- **url** The URL of the Web page being tested. It is required.
- **browser** The type of the browser: chrome or firefox, chrome by default.
- **recordVideo** A boolean type, false by default.
- **syntheticType** Its value is WebpageAction. It is required.
- **WebpageScriptConfiguration** has the following properties:
- **script** A Selenium IDE recording script. It is required.
- **browser** The type of the browser: chrome or firefox, chrome by default.
- **recordVideo** A boolean type, false by default.
- **syntheticType** Its value is WebpageScript. It is required.
- **SSLCertificateConfiguration** has the following properties:
- **hostname** The hostname of the SSL enabled website.
- **port** The SSL port, set to 443 by default.
- **daysRemainingCheck** The number of days to use on the validation check. The test will fail when the certificate validity has less than this number of days remaining until expiration.
- **acceptSelfSignedCertificate** A boolean type, false by default, used to support self-signed certificates.
- **DNSConfiguration** has the following properties:
- **acceptCNAME** A boolean type, false by default. When enabled, the canonical name in the DNS response is accepted and no further lookups are performed.
- **lookup** The name or IP address of the host whose record is being queried.
- **lookupServerName** A boolean type, false by default, that enables recursive DNS lookups.
- **port** The DNS server listening port, set to 53 by default.
- **queryTime** An optional filter to be used to validate the test response time.
Syntax: \\\, where:
- **key** is the name of the property to be validated. Only **responseTime** is supported.
- **operator** is one of EQUALS, GREATER_THAN, LESS_THAN.
- **value** is a numeric value, in milliseconds, Default is 10000.
- **queryType** The DNS query type used in the test. Value must be one of ALL, ALL_CONDITIONS, ANY, A, AAAA, CNAME, NS. Default value is A.
- If **ALL** is defined, all available query types will be executed.
- If **ALL_CONDITIONS** is defined, only the query types defined in **targetValues** will be executed.
- **recursiveLookups** A boolean type, false by default, that enables recursive DNS lookups.
- **server** The IP address of the DNS server.
- **serverRetries** The number of times to try a timed-out DNS lookup before returning failure. Default is 1.
- **targetValues** An optional list of filters to be used to validate the test response.
Syntax: [\\\, ...], where:
- **key** is the name of the property to be validated.
- **operator** is one of CONTAINS, IS, MATCHES, NOT_MATCHES.
- **value** is the expected property value.
- **transport** The protocol used to do DNS check. Only UDP is supported.
- **createdAt** The test created time, following RFC3339 standard.
- **createdBy** The user identifier who created the test resource.
- **customProperties** An object with name/value pairs to provide additional information of the Synthetic test.
- **locations** It is an array of the PoP location IDs where the Synthetic tests are located.
- **applications** It is an array of the unique identifiers of the Application Perspectives associated to this test.
- **modifiedAt** The test last updated time, following RFC3339 standard.
- **modifiedBy** The user identifier who updated the test resource.
- **playbackMode** Defines how the Synthetic test should be executed across multiple
PoPs. This property is optional, and its default value is Simultaneous, and only Simultaneous is supported, i.e.,
Synthetic tests run at all locations simultaneously.
- **testFrequency** How often the playback for a Synthetic test is scheduled. The unit of the testFrequency parameter is minute.
The default is every 15 minutes. The range is from 1 minute to 120 minutes.
For SSLCertificate tests, the default is every 24 hours and the range is from 60 minute to 1440 minutes.
## Synthetic Credentials:
Synthetic credentials can be used to store passwords and/or secrets used by the Synthetic Tests.
All Script Tests can use credentials in their body and API Simple Tests can use them on header parameters.
It is required that the credentials used in the test be created before the test is created or modified.
Credentials can be associated to multiple Application Perspectives, Websites, and Mobile Apps.
Tests using credentials are validated during test creation and update whether you use the API or UI, as follows:
1. The user Id of the logged in user or API Token being used to create or modify the test must have permission to use credentials.
Requests to create or update a test referencing credentials without the correct permission will fail with return code `Forbidden`.
2. The credentials or secrets used in the test must exist.
Requests to create or update a test referencing credentials that do not exist will fail with return code `Bad Request`.
3. Credentials associated to Application Perspectives, Websites, and Mobile Apps can only be used by tests that are associated to at least one common Application Perspective, Websites, and MobileApps.
Requests to create or update a test referencing credentials without matching Application Perspectives, Websites, or Mobile Apps will fail with return code `Bad Request`.
- name: Synthetic Test Playback Results
description: "The endpoints of this group retrieve the results for defined Synthetic tests.\n\n**Note on names in TagFilter/TagFilterExpression**: From R243, the name used in a TagFilter or a TagFilterExpression has the format: synthetic.\\.\nIt can be one of the following: synthetic.id (id is the test result id), synthetic.testId,\nsynthetic.testName, synthetic.locationId, synthetic.applicationId, synthetic.serviceId, synthetic.syntheticType,\nsynthetic.locationName, and synthetic.locationLabel. If it is a metric name, then the format is: synthetic.metrics\\.\nFor example, synthetic.metricsResponseTime, synthetic.metricsStatus.\n\nThe names used prior to R243 should be considered as deprecated. They will be accepted temporarily and will be removed in an upcoming release.\n\n## Get Synthetic test playback results \nThe endpoint returns the aggregated Synthetic test result data\n\n### Mandatory Parameters \n\n**testId** An array of the unique identifiers of Synthetic tests\n\n**metrics** A list of metric objects that define which metric should be returned, with the defined aggregation. Each metrics objects consists of minimum two items:\n1. *metric* select a particular metric. This is the list of available metrics for all types of Synthetic Tests: \n synthetic.metricsResponseTime (ms), synthetic.metricsResponseSize (bytes), synthetic.metricsStatusCode (an integer represents an HTTP response code, e.g., 200, 401, 500), synthetic.metricsRequestSize (bytes), \n synthetic.metricsUploadSpeed (bytes per second), synthetic.metricsDownloadSpeed (bytes per second), \n synthetic.metricsRedirectTime (ms), synthetic.metricsRedirectCount, synthetic.metricsConnectCount, synthetic.metricsStatus (an integer, 1-success or 0-failure), and synthetic.tags (list of custom properties and values). \n \n The following metrics are only available for the HTTPAction type Synthetic Tests: synthetic.metricsBlocking (bytes), synthetic.metricsDns (bytes), synthetic.metricsConnect (bytes), synthetic.metricsSsl (bytes), \n synthetic.metricsSending (bytes), synthetic.metricsWaiting (bytes), and synthetic.metricsReceiving (bytes).\n\n The metric synthetic.customMetrics (list of custom metrics and values) is only available for SSLCertificate and DNS tests. For SSLCertificate, the custom metrics are returned as metrics. For DNS, the custom metrics are returned in the *ismDetails* field.\n\n The metric synthetic.tags adds the latest list of custom properties to the response.\n\n2. *aggregation* Depending on the selected metric, different aggregations are available e.g., SUM, MEAN, P90 (90th percentile), DISTINCT_COUNT, and MAX. MAX is only allowed for synthetic.tags.\n\n**timeFrame** As in our UI you can specify the timeframe for metrics retrieval.\n```\n windowSize to\n (ms) (unix-timestamp)\n<----------------------|\n```\nThe timeFrame might be adjusted to fit the metric granularity so that there is no partial bucket. For example, if the query timeFrame is 08:02 - 09:02 and the metric granularity is 5 minutes, the timeFrame will be adjusted to 08:05 - 09:00. The adjusted timeFrame will be returned in the response payload. If the query does not have any metric with granularity, a default granularity will be used for adjustment.\n\n### Optional Parameters\n\n**metrics** By default you will get an aggregated metric for the selected timeframe\n\n* *granularity*\n * If it is not set you will get an aggregated value for the selected timeframe\n * If the granularity is set you will get data points with the specified granularity **in seconds**\n * The granularity should not be greater than the `windowSize` (important: `windowSize` is expressed in **milliseconds**)\n * The granularity should not be set too small relative to the `windowSize` to avoid creating an excessively large number of data points (max 600)\n * The granularity values are the same for all metrics\n\n**pagination** if you use pagination you most probably want to fix the timeFrame for the retrieved metrics\n1. *page* select the page number you want to retrieve\n2. *pageSize* set the number of Synthetic test results you want to return with one query\n\n**order** You can order the returned items alphanumerical by label, either ascending or descending\n1. *by* Use the metric name, e.g. \"synthetic.metricsResponseTime\", to order by its value\n2. *direction* either ascending (ASC) or descending (DESC)\n\n**tagFilters** It serves as a filter to narrow down return results.\nIt will be replaced by **tagFilterExpression**.\n\n**tagFilterExpression** It serves as a filter to narrow down return results. Its type can be either EXPRESSION or TAG_FILTER with\nlogical operators AND or OR.\n\nA payload only needs either tagFilters or tagFilterExpression as a filter, not both.\n\nEither tagFilters or tagFilterExpression can specify a custom property by its key and value.\n```\n\"tagFilters\":[{\n \"name\":\"synthetic.tags\",\n \"key\":\"location\",\n \"value\":\"Denver\",\n \"operator\":\"EQUALS\"\n}]\n```\n\nTo narrow down the result set you have two options to search for a test.\n\n**locationId | applicationId**\n\n* *synthetic.locationId:* filter by locationId\n\n* *synthetic.applicationId:* filter by applicationId\n\n### Defaults\n\n**metrics**\n* *granularity:* 0\n\n**timeFrame**\n```\n\"timeFrame\": {\n\t\"windowSize\": 60000,\n\t\"to\": {current timestamp}\n}\n```\n**locationId | applicationId**\n* no filters are applied in the default call\n\n### Sample payload to get a Synthetic test result\n```\n{\n \"testId\": [\"tUmWgvzdo1Q1vpVRpzR5\", \"Pg0Q1UqHRd7OMysohVLd\"],\n \"//comment1\": \"Get test results from last 30 minutes (windowSize), data are aggregated every 10 minutes (granularity)\",\n \"//comment2\": \"The granularity values for responseTime and responseSize must be the same\"\n \"metrics\": [\n {\n \"aggregation\": \"MEAN\",\n \"granularity\": 600, \n \"metric\": \"synthetic.metricsResponseTime\"\n },\n {\n \"aggregation\": \"MEAN\",\n \"granularity\": 600, \n \"metric\": \"synthetic.metricsResponseSize\"\n }],\n \"timeFrame\": {\n \"to\": 0,\n \"windowSize\": 1800000 \n }\n}\n```\n\n## Get a list of Synthetic test playback results (analytic function)\nThe endpoint returns the Synthetic test result data based upon the specified analytic function.\nThe *tagFilterExpression* is applied to the result data and is then grouped by the synthetic.testId before the analytic function is applied. \nOptionally, after the analytic function is applied to the result data, the *tagFilters* can further filter the result. \n\n### Mandatory Parameters\n**analyticFunction** It is a string. Valid values are *FIRST_VALUE* and *LAST_VALUE*.\n\n**syntheticMetrics** It is an array of metrics. The available metrics for all types of Synthetic Tests: synthetic.id (a string representing the test result ID),\nsynthetic.metricsResponseTime (ms), synthetic.metricsResponseSize (bytes), synthetic.metricsStatusCode (an integer represents an HTTP response code, e.g., 200, 401, 500), synthetic.metricsRequestSize (bytes),\nsynthetic.metricsUploadSpeed (bytes per second), synthetic.metricsDownloadSpeed (bytes per second),\nsynthetic.metricsRedirectTime (ms), synthetic.metricsRedirectCount, synthetic.metricsConnectCount, synthetic.metricsStatus (an integer, 1-success or 0-failure), and synthetic.tags (list of custom properties and values).\n\nThe following metrics are only available for the HTTPAction type Synthetic Tests: synthetic.metricsBlocking (bytes), synthetic.metricsDns (bytes), synthetic.metricsConnect (bytes), synthetic.metricsSsl (bytes),\nsynthetic.metricsSending (bytes), synthetic.metricsWaiting (bytes), and synthetic.metricsReceiving (bytes).\n\nThe metric synthetic.customMetrics (list of custom metrics and values) is only available for SSLCertificate and DNS tests. For SSLCertificate, the custom metrics are returned as metrics. For DNS, the custom metrics are returned in the *ismDetails* field.\n\nThe metric synthetic.tags adds the latest list of custom properties to the response.\n\n**timeFrame** As in our UI you can specify the timeframe for metrics retrieval.\n```\n windowSize to\n (ms) (unix-timestamp)\n<----------------------|\n```\n\n### Optional Parameters\n**includeLocationIdGrouping** A boolean. The default grouping for the API is synthetic.testId. \nSpecify *true* to change the grouping to synthetic.testId, synthetic.locationId. The default for \nthis parameter is *false*.\n\n**pagination** if you use pagination you most probably want to fix the timeFrame for the retrieved metrics\n1. *page* select the page number you want to retrieve\n2. *pageSize* set the number of Synthetic test results you want to return with one query\n\n**order** You can order the returned items alphanumerical by label, either ascending or descending\n1. *by* Use the metric name, e.g. \"synthetic.metricsResponseTime\" to order by that value\n2. *direction* either ascending (ASC) or descending (DESC)\n\n**tagFilterExpression** It serves as a filter to define the scope of relevant results that will \nbe grouped and then applied to the analytic function. Its type can be either EXPRESSION or \nTAG_FILTER with logical operators *AND* or *OR*.\n\n**tagFilters** The tagFilters are applied to the result set generated by the analytic function. \nAn example: if there are three tests and their last value status\nare 1, 0, 1 (indicating success, failure, success) and \n**tagFilters** is not specified, then the API with LAST_VALUE will\nreturn three tests with the stated statuses. If **tagFilters** is specified with\nsynthetic.metricsStatus equal to 0 (failed), then the final result set will be the tests that \nfailed the last time that they ran and in this example will be one record consisting\nof the test with status 0.\n\nEither tagFilters or tagFilterExpression can specify a custom property by its key and value.\n```\n\"tagFilters\":[{\n \"name\":\"synthetic.tags\",\n \"key\":\"location\",\n \"value\":\"Denver\",\n \"operator\":\"EQUALS\"\n}]\n```\n\n### Sample payload to retrieve the response_size and response_time from the last result of each test that ran within the last five minutes. Include both scheduled and on-demand tests.\n```json\n{\n \"syntheticMetrics\":[\"synthetic.metricsResponseSize\",\"synthetic.metricsResponseTime\"],\n \"analyticFunction\": \"LAST_VALUE\",\n \"order\":{\n \"by\":\"synthetic.startTime\",\n \"direction\":\"DESC\"\n },\n \"tagFilterExpression\": {\n \"type\":\"EXPRESSION\",\n \"logicalOperator\":\"AND\",\n \"elements\":[{\n \"stringValue\":\"All\",\n \"name\":\"synthetic.runType\",\n \"operator\":\"EQUALS\"\n }]\n },\n \"timeFrame\": {\n \"to\": 0,\n \"windowSize\": 300000\n }\n}\n```\n\n### Sample payload to retrieve the response_size and response_time from the last result of each test that ran within the last five minutes. Include both scheduled and on-demand tests. Only return results for tests that failed the last time that they ran. \n```json\n{\n \"syntheticMetrics\":[\"synthetic.metricsResponseSize\",\"synthetic.metricsResponseTime\"],\n \"analyticFunction\": \"LAST_VALUE\",\n \"order\":{\n \"by\":\"synthetic.startTime\",\n \"direction\":\"DESC\"\n },\n \"tagFilterExpression\": {\n \"type\":\"EXPRESSION\",\n \"logicalOperator\":\"AND\",\n \"elements\":[{\n \"stringValue\":\"All\",\n \"name\":\"synthetic.runType\",\n \"operator\":\"EQUALS\"\n }]\n },\n \"tagFilters\":[{\n \"numberValue\": 0,\n \"name\":\"synthetic.metricsStatus\",\n \"operator\":\"EQUALS\"\n }],\n \"timeFrame\": {\n \"to\": 0,\n \"windowSize\": 300000\n }\n}\n```\n\n## Get a list of Synthetic test playback results (no aggregation)\n### Mandatory Parameters\n**syntheticMetrics** It is an array of metrics. The available metrics for all types of Synthetic Tests: synthetic.id (a string representing the test result ID), \nsynthetic.metricsResponseTime (ms), synthetic.metricsResponseSize (bytes), synthetic.metricsStatusCode (an integer represents an HTTP response code, e.g., 200, 401, 500), synthetic.metricsRequestSize (bytes),\nsynthetic.metricsUploadSpeed (bytes per second), synthetic.metricsDownloadSpeed (bytes per second),\nsynthetic.metricsRedirectTime (ms), synthetic.metricsRedirectCount, synthetic.metricsConnectCount, synthetic.metricsStatus (an integer, 1-success or 0-failure), and synthetic.tags (list of custom properties and values).\n\nThe following metrics are only available for the HTTPAction type Synthetic Tests: synthetic.metricsBlocking (bytes), synthetic.metricsDns (bytes), synthetic.metricsConnect (bytes), synthetic.metricsSsl (bytes),\nsynthetic.metricsSending (bytes), synthetic.metricsWaiting (bytes), and synthetic.metricsReceiving (bytes).\n\nThe metric synthetic.customMetrics (list of custom metrics and values) is only available for SSLCertificate and DNS tests. For SSLCertificate, the custom metrics are returned as metrics. For DNS, the custom metrics are returned in the *ismDetails* field.\n\nThe metric synthetic.tags adds the latest list of custom properties to the response.\n\n**timeFrame** As in our UI you can specify the timeframe for metrics retrieval.\n```\n windowSize to\n (ms) (unix-timestamp)\n<----------------------|\n```\n\n### Optional Parameters\n**pagination** if you use pagination you most probably want to fix the timeFrame for the retrieved metrics\n1. *page* select the page number you want to retrieve\n2. *pageSize* set the number of Synthetic test results you want to return with one query\n\n**order** You can order the returned items alphanumerical by label, either ascending or descending\n1. *by* Use the metric name, e.g. \"synthetic.metricsResponseTime\" to order by that value\n2. *direction* either ascending (ASC) or descending (DESC)\n\n**tagFilters** It serves as a filter to narrow down return results. \nIt will be replaced by **tagFilterExpression**.\n\n**tagFilterExpression** It serves as a filter to narrow down return results. Its type can be either EXPRESSION or TAG_FILTER with \nlogical operators AND or OR.\n\nA payload only needs either tagFilters or tagFilterExpression as a filter, not both.\n\nEither tagFilters or tagFilterExpression can specify a custom property by its key and value.\n```\n\"tagFilters\":[{\n \"name\":\"synthetic.tags\",\n \"key\":\"location\",\n \"value\":\"Denver\",\n \"operator\":\"EQUALS\"\n}]\n```\n\n### Sample payload to get a list of Synthetic test results with tagFilters\n```json\n{\n \"syntheticMetrics\":[\"synthetic.metricsResponseTime\",\"synthetic.metricsResponseSize\"],\n \"order\":{\n \"by\":\"synthetic.metricsResponseTime\",\n \"direction\":\"DESC\"\n },\n \"tagFilters\":[{\n \"stringValue\":\"hYziqsaXSJmQsehOWg1S\",\n \"name\":\"synthetic.testId\",\n \"operator\":\"EQUALS\"\n }],\n \"timeFrame\": {\n \"to\": 0,\n \"windowSize\": 1800000\n }\n}\n```\n\n### Sample payload to get a list of Synthetic test results with tagFilterExpression\n```json\n{\n \"syntheticMetrics\":[\"synthetic.metricsResponseTime\",\"synthetic.metricsResponseSize\"],\n \"order\":{\n \"by\":\"synthetic.metricsResponseTime\",\n \"direction\":\"DESC\"\n },\n \"tagFilterExpression\": { \n \"type\":\"EXPRESSION\",\n \"logicalOperator\":\"AND\",\n \"elements\":[{\n \"stringValue\":\"hYziqsaXSJmQsehOWg1S\",\n \"name\":\"synthetic.testId\",\n \"operator\":\"EQUALS\"\n }, {\n \"name\": \"synthetic.locationId\", \n \"operator\": \"EQUALS\", \n \"stringValue\": \"abcdefgXSJmQsehOWg1S\"\n }]\n },\n \"timeFrame\": {\n \"to\": 0,\n \"windowSize\": 1800000\n }\n}\n```\n\n### Sample payload to get the custom metrics of a Synthetic SSLCertificate test\n```json\n{\n \"syntheticMetrics\":[\"synthetic.customMetrics\"],\n \"tagFilters\":[{\n \"stringValue\":\"dk6yzb9fxCDlB6axIhUu\",\n \"name\":\"synthetic.testId\",\n \"operator\":\"EQUALS\"\n }],\n \"timeFrame\": {\n \"to\": 0,\n \"windowSize\": 172800000\n }\n}\n```\n\n## Get a list of Synthetic tests with Success Rate and Average Response Time data\nThe endpoint returns a list of Synthetic tests with Success Rate and Average Response Time result data\n\n### Mandatory Parameters\n\n**metrics**\n1. *metric* select a particular metric. Right now, only synthetic.metricsResponseTime (ms) is supported.\n2. *aggregation* MEAN\n3. *granularity* 60\n\n**timeFrame** As in our UI you can specify the timeframe for metrics retrieval.\n```\n windowSize to\n (ms) (unix-timestamp)\n<----------------------|\n\n\"timeFrame\": {\n\t\"windowSize\": 60000,\n\t\"to\": {current timestamp}\n}\n```\n\n### Optional Parameters\n\n**pagination** if you use pagination you most probably want to fix the timeFrame for the retrieved metrics\n1. *page* select the page number you want to retrieve\n2. *pageSize* set the number of Synthetic test results you want to return with one query\n\n**order** You can order the returned items alphanumerical by label, either ascending or descending\n1. *by* Use the metric name, \"synthetic.metricsResponseTime\", to order by its value\n2. *direction* either ascending (ASC) or descending (DESC)\n\n**tagFilters** It serves as a filter to narrow down return results. The name of a tagFilter is one of the following: \nsynthetic.syntheticType, synthetic.locationId, and synthetic.applicationId.\nIt will be replaced by **tagFilterExpression**.\n```\n\"tagFilters\":[{\n \"stringValue\":\"hYziqsaXSJmQsehOWg1S\",\n \"name\":\"synthetic.applicationId\",\n \"operator\":\"EQUALS\"\n}]\n```\n\n**tagFilterExpression** It serves as a filter to narrow down return results. Its type can be either EXPRESSION or TAG_FILTER with\nlogical operators AND or OR.\n```\n\"tagFilterExpression\": { \n \"type\":\"EXPRESSION\",\n \"logicalOperator\":\"AND\",\n \"elements\":[{\n \"name\": \"synthetic.metricsStatus\", \n \"operator\": \"EQUALS\", \n \"numberValue\": 1\n }, {\n \"name\": \"synthetic.locationId\", \n \"operator\": \"EQUALS\", \n \"stringValue\":\"WnjlKKbgzLDnyGra6PAs\"\n }]\n}\n```\n\nA payload only needs either tagFilters or tagFilterExpression as a filter, not both.\n\nEither tagFilters or tagFilterExpression can specify a custom property by its key and value.\n```\n\"tagFilters\":[{\n \"name\":\"synthetic.tags\",\n \"key\":\"location\",\n \"value\":\"Denver\",\n \"operator\":\"EQUALS\"\n}]\n```\n\nTo narrow down the result set you have three options to search for a test.\n\n**syntheticType | locationId | applicationId**\n\n* *synthetic.syntheticType:* filter by syntheticType, either HTTPAction or HTTPScript\n\n* *synthetic.locationId:* filter by locationId\n\n* *synthetic.applicationId:* filter by applicationId\n\n\nTests can also be filtered by their active state (`true`/`false`) using the custom property label `synthetic.testActive`.\n```\n\"tagFilters\": [{ \n \"name\":\"synthetic.testActive\", \n \"operator\":\"EQUALS\",\n \"booleanValue\": false \n}]\n```\n\n### Defaults\n\n**syntheticType | locationId | applicationId**\n* no filters are applied in the default call\n\n### Sample payload to get a list of active Synthetic tests with SuccessRate and Average Response Time results\n```\n{\n \"metrics\": [\n {\n \"aggregation\": \"MEAN\",\n \"granularity\": 60, \n \"metric\": \"synthetic.metricsResponseTime\"\n }],\n \"tagFilterExpression\": { \n \"type\":\"EXPRESSION\",\n \"logicalOperator\":\"AND\",\n \"elements\":[{\n \"name\": \"synthetic.locationId\", \n \"operator\": \"EQUALS\", \n \"stringValue\": \"abcdefgXSJmQsehOWg1S\"\n }, {\n \"name\": \"synthetic.testActive\",\n \"operator\": \"EQUALS\",\n \"booleanValue\": true\n }]\n },\n \"timeFrame\": {\n \"to\": 0,\n \"windowSize\": 3600000 \n }\n}\n```\n\n## Get a list of Synthetic locations with Last Test Run on (each location) data\nThe endpoint returns a list of Synthetic locations with Last Test Run on (each location) result data\n\n### Mandatory Parameters\n\n**timeFrame** As in our UI you can specify the timeframe for metrics retrieval.\n```\n windowSize to\n (ms) (unix-timestamp)\n<----------------------|\n\n\"timeFrame\": {\n\t\"windowSize\": 60000,\n\t\"to\": {current timestamp}\n}\n```\n\n### Optional Parameters\n\n**pagination** if you use pagination you should use the same timeFrame for all of the pages you want to query\n1. *page* select the page number you want to retrieve\n2. *pageSize* set the number of Synthetic locations you want to return with one query\n\n**order** You can order the returned items alphanumerically by label, either ascending or descending\n1. *by* Use the metric name, e.g., \"location_name\", to order by its value\n2. *direction* either ascending (ASC) or descending (DESC)\n\n The sorting can be done on the following metrics: location_name, location_label, status, type, total_tests,\n last_test_run, and namespace\n\n**tagFilters** It serves as a filter to narrow down return results. The name of a tagFilter is one of the following: \nsynthetic.locationName, synthetic.locationLabel, and synthetic.locationId.\nIt will be replaced by **tagFilterExpression**.\n```\n\"tagFilters\":[{\n \"stringValue\":\"hYziqsaXSJmQsehOWg1S\",\n \"name\":\"synthetic.locationId\",\n \"operator\":\"EQUALS\"\n}]\n```\n\n**tagFilterExpression** It serves as a filter to narrow down return results. Its type can be either EXPRESSION or TAG_FILTER with\nlogical operators AND or OR.\n```\n\"tagFilterExpression\": { \n \"type\":\"EXPRESSION\",\n \"logicalOperator\":\"OR\",\n \"elements\":[{\n \"name\": \"synthetic.locationId\", \n \"operator\": \"EQUALS\", \n \"stringValue\":\"WnjlKKbgzLDnyGra6PAs\"\n }]\n}\n```\n\nA payload only needs either tagFilters or tagFilterExpression as a filter, not both.\n\n### Sample payload to get a list of Synthetic locations with Last Test Run on (each location) data\n```\n{\n \"order\": {\n \t\"by\": \"status\", \n \t\"direction\": \"Desc\"\n },\n \"timeFrame\": {\n \"to\": 0,\n \"windowSize\": 3600000 \n }\n}\n```\n\n## Get Synthetic test playback result detail data\n\n### Query Parameters\n**type** The type of the detailed data. Its value is one of these types: SUBTRANSACTIONS, LOGS, and HAR.\n\n**name** The name of the file to be retrieved, if more than one file available for the same type. Used when the type equals to LOGS or IMAGES\n\n## Download a Synthetic test playback result detail data file\n\n### Query Parameter\n**type** The type of a single compressed file. Its value is one of these types: SUBTRANSACTIONS, LOGS, IMAGES, VIDEOS, and HAR.\n"
- name: Action Catalog
- name: Action History
- name: Policies
- name: Authentication
- name: Log Alert Configuration
- name: End User Monitoring
- name: AI Management
paths:
'/api/apdex/report/{apdexId}':
get:
description: Generate Apdex Report for a specified Apdex ID.
operationId: getApdexReport
parameters:
- description: Apdex Configuration ID
example: nCtEoR6NSPqG61QkIkwwCw
in: path
name: apdexId
required: true
schema:
type: string
- description: 'Starting point for the data retrieval, specified as 13 digit Unix Timestamp milliseconds'
example: 1706713140000
in: query
name: from
required: true
schema:
type: integer
format: int64
- description: 'Ending point for the data retrieval, specified as 13 digit Unix Timestamp milliseconds'
example: 1706813100000
in: query
name: to
required: true
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
apdexId: nCtEoR6NSPqG61QkIkwwCw
from: 1706713140000
to: 1706813100000
apdexScore:
- - 1706713140000
- 0.5
- - 1706779500000
- 0.5
schema:
type: array
items:
$ref: '#/components/schemas/ApdexReport'
description: OK
'404':
content:
application/json:
example:
errors:
- There is no Apdex configuration for the given ID.
schema:
type: array
items:
type: string
description: No Apdex configuration for the given ID
security:
- ApiKeyAuth:
- Default
summary: Generate Apdex report
tags:
- Apdex Report
x-ibm-ahub-byok: true
/api/application-monitoring/analyze/backend-correlation:
get:
description: |-
Resolves backend trace IDs using correlation IDs from website and mobile app monitoring beacons.
For more information on Application Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze.
operationId: getCorrelatedTraces
parameters:
- description: |
Here, the `backendTraceId` is typically used which can be obtained from the `Get all beacons` API endpoint for website and mobile app monitoring.
For XHR, fetch, or HTTP beacons, the `beaconId` retrieved from the same API endpoint can also serve as the `correlationId`.
example: 0v7f55879ca12345
in: query
name: correlationId
required: true
schema:
type: string
maxLength: 128
minLength: 0
responses:
'200':
content:
application/json:
example:
- traceId: c606ccf3578135c6
schema:
type: array
items:
$ref: '#/components/schemas/BackendTraceReference'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Resolve Trace IDs from Monitoring Beacons.
tags:
- Application Analyze
x-ibm-ahub-byok: true
/api/application-monitoring/analyze/call-groups:
post:
operationId: getCallGroup
parameters:
- description: 'If enabled, fill the missing data points in the metric result with timestamp and value 0.'
in: query
name: fillTimeSeries
schema:
type: boolean
requestBody:
content:
application/json:
example:
group:
groupbyTag: service.name
groupbyTagEntity: DESTINATION
metrics:
- aggregation: SUM
metric: calls
- aggregation: P75
metric: latency
granularity: 360
includeInternal: false
includeSynthetic: false
order:
by: calls
direction: DESC
pagination:
retrievalSize: 20
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: call.type
operator: EQUALS
entity: NOT_APPLICABLE
value: DATABASE
- type: TAG_FILTER
name: service.name
operator: EQUALS
entity: DESTINATION
value: ratings
timeFrame:
to: '1688366990000'
windowSize: '600000'
schema:
$ref: '#/components/schemas/GetCallGroups'
responses:
'200':
content:
application/json:
example:
items:
- name: ratings
timestamp: 1688366520000
cursor:
'@class': .IngestionOffsetCursor
ingestionTime: 1688980829000
offset: 1
metrics:
latency.p75.360:
- - 1688366520000
- 1
canLoadMore: false
totalHits: 1
totalRepresentedItemCount: 1
totalRetainedItemCount: 1
adjustedTimeframe:
windowSize: 360000
to: 1688366880000
schema:
$ref: '#/components/schemas/CallGroupsResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get grouped call metrics
tags:
- Application Analyze
x-ibm-ahub-byok: true
description: "This endpoint retrieves the metrics for calls.\r\n\r\n## Deprecated Parameters\r\n**tagFilters:** The list of tag filters. It is replaced by **tagFilterExpression**, **includeInternal** and **includeSynthetic**.\r\n\r\n## Supported Aggregation on Get Grouped call metrics\r\n\r\n| Metric | Description | Allowed Aggregations |\r\n|------------------|--------------------------------------------------------------------------------------------|----------------------|\r\n| `calls` | Number of received calls | `PER_SECOND`, `SUM` |\r\n| `erroneousCalls` | The number of erroneous calls |`PER_SECOND`, `SUM` |\r\n| `latency` | Latency of received calls in milliseconds | `P25`, `P50`, `P75`, `P90`, `P95`, `P98`, `P99`, `SUM`, `MEAN`, `MAX`, `MIN` |\r\n| `errors` | Error rate of received calls. A value between 0 and 1 | `MEAN` |\r\n| `services` | The number of Services |`DISTINCT_COUNT` |"
/api/application-monitoring/analyze/trace-groups:
post:
operationId: getTraceGroups
parameters:
- description: 'If enabled, fill the missing data points in the metric result with timestamp and value 0.'
in: query
name: fillTimeSeries
schema:
type: boolean
requestBody:
content:
application/json:
example:
group:
groupbyTag: trace.endpoint.name
groupbyTagEntity: NOT_APPLICABLE
metrics:
- aggregation: SUM
metric: latency
order:
by: latency
direction: ASC
pagination:
retrievalSize: 20
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: call.type
operator: EQUALS
entity: NOT_APPLICABLE
value: DATABASE
- type: TAG_FILTER
name: service.name
operator: EQUALS
entity: DESTINATION
value: ratings
schema:
$ref: '#/components/schemas/GetTraceGroups'
responses:
'200':
content:
application/json:
example:
items:
- name: GET /api/cart-total
timestamp: 1688542673148
cursor:
'@class': .IngestionOffsetCursor
ingestionTime: 1688543264000
offset: 1
metrics:
latency.sum:
- - 1688543260000
- 31
canLoadMore: true
totalHits: 2595
totalRepresentedItemCount: 2595
totalRetainedItemCount: 2595
adjustedTimeframe:
windowSize: 600000
to: 1687939110000
schema:
$ref: '#/components/schemas/TraceGroupsResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get grouped trace metrics
tags:
- Application Analyze
x-ibm-ahub-byok: true
description: |
The API endpoint retrieves metrics for traces that are grouped in the endpoint or service name.
The supported `groupbyTag` are `trace.endpoint.name` and `trace.service.name`.
## Supported Aggregation on Get grouped trace metrics
| Metric | Description | Allowed Aggregations |
|------------------|--------------------------------------------------------------------------------------------|----------------------|
| `erroneousCalls` | The number of erroneous calls |`PER_SECOND`, `SUM` |
| `latency` | Latency of received calls in milliseconds | `P25`, `P50`, `P75`, `P90`, `P95`, `P98`, `P99`, `SUM`, `MEAN`, `MAX`, `MIN` |
| `errors` | Error rate of received calls. A value between 0 and 1 | `MEAN` |
/api/application-monitoring/analyze/traces:
post:
operationId: getTraces
requestBody:
content:
application/json:
examples:
analyze/traces:
description: analyze/traces
value:
includeInternal: false
includeSynthetic: false
pagination:
retrievalSize: 1
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: endpoint.name
operator: EQUALS
entity: DESTINATION
value: GET /
- type: TAG_FILTER
name: service.name
operator: EQUALS
entity: DESTINATION
value: groundskeeper
order:
by: traceLabel
direction: DESC
schema:
$ref: '#/components/schemas/GetTraces'
responses:
'200':
content:
application/json:
example:
items:
- trace:
id: 506aef767d8ec147
label: sdk.reloading-config-cache
startTime: 1725601763937
duration: 0
erroneous: false
service:
id: 84b5041665ce4ed6f60b47d1fd96c12d4132c9ed
label: appdata-processor
types: []
technologies: []
snapshotIds: []
entityType: SERVICE
endpoint: null
cursor:
'@class': .IngestionOffsetCursor
ingestionTime: 1725601787000
offset: 1
canLoadMore: true
totalHits: 154
totalRepresentedItemCount: 154
totalRetainedItemCount: 154
adjustedTimeframe:
windowSize: 600000
to: 1725601780000
schema:
$ref: '#/components/schemas/TraceResult'
description: OK
x-example: TraceResult
security:
- ApiKeyAuth:
- Default
summary: Get all traces
tags:
- Application Analyze
x-ibm-ahub-byok: true
description: "Use the endpoint to retrieve a list of traces.\r\n\r\n**Deprecated Parameter:** `tagFilters` is deprecated. It is replaced by `tagFilterExpression`.\r\n"
/api/application-monitoring/applications:
get:
description: |-
Use this API endpoint if one wants to retrieve a list of Application Perspectives.
A use case could be to view the application id of an Application Perspective.
For more information on Application Resources please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources.
operationId: getApplications
parameters:
- description: Name of application
in: query
name: nameFilter
schema:
type: string
- description: Size of time window in milliseconds
in: query
name: windowSize
schema:
type: integer
format: int64
- description: Timestamp since Unix Epoch in milliseconds of the end of the time window
in: query
name: to
schema:
type: integer
format: int64
- description: Page number from results
in: query
name: page
schema:
type: integer
format: int32
- description: Number of items per page
in: query
name: pageSize
schema:
type: integer
format: int32
- description: 'Filter for application scope, i.e: INBOUND or ALL'
in: query
name: applicationBoundaryScope
schema:
type: string
enum:
- ALL
- INBOUND
responses:
'200':
content:
application/json:
example:
items:
- boundaryScope: INBOUND
entityType: APPLICATION
id: e8krH1wNRV6daAo-NEmG8g
label: Robot Shop
page: 1
pageSize: 1
totalHits: 1
schema:
$ref: '#/components/schemas/ApplicationResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get applications
tags:
- Application Resources
x-ibm-ahub-byok: true
/api/application-monitoring/applications;id=/services:
get:
description: |-
Use this API endpoint if one wants to retrieve a list of services in an Application Perspective.
A use case could be to retrieve all service ids present in an Application Perspective.
For more information on Application Resources please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources.
operationId: getApplicationServices
parameters:
- description: Name of service (partial match allowed)
in: query
name: nameFilter
schema:
type: string
- description: Size of time window in milliseconds
in: query
name: windowSize
schema:
type: integer
format: int64
- description: Timestamp since Unix Epoch in milliseconds of the end of the time window
in: query
name: to
schema:
type: integer
format: int64
- description: Page number from results
in: query
name: page
schema:
type: integer
format: int32
- description: Number of items per page
in: query
name: pageSize
schema:
type: integer
format: int32
- description: 'Filter for application scope, i.e: INBOUND or ALL'
in: query
name: applicationBoundaryScope
schema:
type: string
enum:
- ALL
- INBOUND
- description: Include snapshot ids in the results
in: query
name: includeSnapshotIds
schema:
type: boolean
responses:
'200':
content:
application/json:
example:
items:
- entityType: SERVICE
id: 79f1430f4a42a707a97621ca00617e40bd51c31d
label: www.paypal.com
snapshotIds:
- CywiRxmGIwtQIKezVs-XMcTX2xg
technologies:
- kafkaCluster
types:
- MESSAGING
page: 1
pageSize: 1
totalHits: 1
schema:
$ref: '#/components/schemas/ServiceResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get applications/services
tags:
- Application Resources
x-ibm-ahub-byok: true
/api/application-monitoring/applications/services/endpoints:
get:
description: |-
Use this API endpoint if one wants to retrieve a list of Endpoints.
A use case could be to view the endpoint id of an Endpoint.
For more information on Application Resources please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources.
operationId: getApplicationEndpoints
parameters:
- description: Name of service
in: query
name: nameFilter
schema:
type: string
- description: Type of Endpoint
in: query
name: types
schema:
type: array
items:
type: string
uniqueItems: true
- description: List of technologies
in: query
name: technologies
schema:
type: array
items:
type: string
uniqueItems: true
- description: Size of time window in milliseconds
in: query
name: windowSize
schema:
type: integer
format: int64
- description: Timestamp since Unix Epoch in milliseconds of the end of the time window
in: query
name: to
schema:
type: integer
format: int64
- description: Page number from results
in: query
name: page
schema:
type: integer
format: int32
- description: Number of items per page
in: query
name: pageSize
schema:
type: integer
format: int32
- description: 'Filter for application scope, i.e: INBOUND or ALL'
in: query
name: applicationBoundaryScope
schema:
type: string
enum:
- ALL
- INBOUND
responses:
'200':
content:
application/json:
example:
items:
- entityType: ENDPOINT
id: IWeMKSzcvJHijAQoaA-luyHriDQ
label: websites
serviceId: a25c02069636022456e6139ebfe4f4bfec23ae31
synthetic: false
syntheticType: NON_SYNTHETIC
technologies:
- postgreSqlDatabase
type: DATABASE
page: 1
pageSize: 1
totalHits: 1
schema:
$ref: '#/components/schemas/EndpointResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get endpoints
tags:
- Application Resources
x-ibm-ahub-byok: true
/api/application-monitoring/catalog:
get:
operationId: getApplicationTagCatalog
parameters:
- description: |
The start of the timestamp expreseed in Unix epoch time in milliseconds which will fetch list of queryable tags until current timestamp.
Eg: `1719875833000` (1 July 2024 23:17:13 GMT) will fetch list of queryable tags from that time till current time.
in: query
name: from
schema:
type: integer
format: int64
- description: 'The source from where queryable tags should be fetched from. In Unbounded Analytics, Application Perspectives has 2 sources; `Calls` and `Traces`.'
in: query
name: dataSource
schema:
type: string
enum:
- CALLS
- TRACES
- description: |
The subset of queryable tags that is available for a particular use case.
For eg: If you select `dataSource` as `TRACES` and useCase as `Grouping`. The tags available for querying are `trace.endpoint.name` and `trace.service.name`.
useCase is helpful when one wants to know which tags are supported for querying.
in: query
name: useCase
schema:
type: string
enum:
- GROUPING
- FILTERING
- SERVICE_MAPPING
- SMART_ALERTS
- SMART_ALERTS_LOGS
- SMART_ALERTS_ADAPTIVE_BASELINE
- SMART_ALERTS_CUSTOM_PAYLOAD
- SLI_MANAGEMENT
- APPLICATION_CONFIG
- APPLICATION_CONFIG_BLUEPRINT
- MAINTENANCE_WINDOWS
- BIZOPS_CUSTOM_DASHBOARDS_FILTERING
responses:
'200':
content:
application/json:
example:
tagTree:
- label: Agent
description: null
icon: null
children:
- label: Zone
icon: lib_views_tag
tagName: agent.zone
queryable: true
type: TAG
type: LEVEL
queryable: false
tags:
- name: marathon.label
label: Label
type: KEY_VALUE_PAIR
description: marathon label
canApplyToSource: true
canApplyToDestination: true
idTag: false
schema:
$ref: '#/components/schemas/TagCatalog'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get application tag catalog
tags:
- Application Catalog
x-ibm-ahub-byok: true
description: |-
Use this API endpoint to retrieve a list of tags.
This API endpoint also shows tags which are grouped together. This grouping also denotes the dimensionality of an event. Eg: `Call` can have 9 attributes.
Also these tags have cardinality ranging from low to high which will help in examining broad or narrow patterns during the analysis.
Queryable tags are a powerful enabler for slice and dice analysis in `Query Builder`. `Query Builder` can be found in `Unbounded Analytics`.
/api/application-monitoring/catalog/metrics:
get:
operationId: getApplicationCatalogMetrics
responses:
'200':
content:
application/json:
example:
- metricId: calls
label: Call count
formatter: NUMBER
description: Number of received calls
aggregations:
- PER_SECOND
- SUM
defaultAggregation: null
schema:
type: array
items:
$ref: '#/components/schemas/MetricDescription'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get Metric catalog
tags:
- Application Catalog
x-ibm-ahub-byok: true
description: |
This endpoint retrieves all available metric definitions for application monitoring.
/api/application-monitoring/catalog/tags:
get:
deprecated: true
operationId: getApplicationTags
parameters:
- description: |
The start of the timestamp expreseed in Unix epoch time in milliseconds which will fetch list of queryable tags until current timestamp.
Eg: `1719875833000` (1 July 2024 23:17:13 GMT) will fetch list of queryable tags from that time till current time.
in: query
name: from
schema:
type: integer
format: int64
- description: 'The source from where queryable tags should be fetched from. In Unbounded Analytics, Application Perspectives has 2 sources; `Calls` and `Traces`.'
in: query
name: dataSource
schema:
type: string
enum:
- CALLS
- TRACES
- description: |
The subset of queryable tags that is available for a particular use case.
For eg: If you select `dataSource` as `TRACES` and useCase as `Grouping`. The tags available for querying are `trace.endpoint.name` and `trace.service.name`.
useCase is helpful when one wants to know which tags are supported for querying.
in: query
name: useCase
schema:
type: string
enum:
- GROUPING
- FILTERING
- SERVICE_MAPPING
- SMART_ALERTS
- SMART_ALERTS_LOGS
- SMART_ALERTS_ADAPTIVE_BASELINE
- SMART_ALERTS_CUSTOM_PAYLOAD
- SLI_MANAGEMENT
- APPLICATION_CONFIG
- APPLICATION_CONFIG_BLUEPRINT
- MAINTENANCE_WINDOWS
- BIZOPS_CUSTOM_DASHBOARDS_FILTERING
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Tag'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get application tags
tags:
- Application Catalog
x-ibm-ahub-byok: true
description: "**Note:** This API Endpoint is deprecated. Use `Get application tag catalog` endpoint instead.\n\nThis endpoint retrieves all available tags for your monitored system.\n\nThese tags can be used to group metric results.\n```\n\"group\": {\n \"groupbyTag\": \"service.name\"\n}\n```\n\nThese tags can be used to filter metric results.\n```\n\"tagFilters\": [{\n\t\"name\": \"application.name\",\n\t\"operator\": \"EQUALS\",\n\t\"value\": \"example\"\n}]\n```\n"
/api/application-monitoring/metrics/applications:
post:
description: |-
Use this API endpoint if one wants to retrieve one or more supported aggregation of supported metrics for an Application Perspective.
For eg: retrieve `MEAN` aggregation of `latency` metric for an Application Perspective `app`.
For more information on supported metrics, refer `Get Metric catalog`.
For more information on Application Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics.
operationId: getApplicationMetrics
parameters:
- description: 'If enabled, fill the missing data points in the metric result with timestamp and value 0.'
in: query
name: fillTimeSeries
schema:
type: boolean
requestBody:
content:
application/json:
examples:
metrics/applications:
description: |
Attribute in "order by" should
be provided in "metrics" as well
value:
metrics:
- aggregation: MEAN
metric: latency
order:
by: latency
direction: DESC
pagination:
page: 1
pageSize: 1
timeFrame:
to: 1646037122400
windowSize: 3600000
schema:
$ref: '#/components/schemas/GetApplications'
responses:
'200':
content:
application/json:
example:
items:
- application:
id: Jv83WpUmSKiiCWIpi-reSQ
label: demoApp
boundaryScope: ALL
entityType: APPLICATION
metrics:
latency.mean:
- - 1669190580000
- 4
page: 1
pageSize: 1
totalHits: 1616
adjustedTimeframe:
windowSize: 3600000
to: 1646037120000
schema:
$ref: '#/components/schemas/ApplicationMetricResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get Application Metrics
tags:
- Application Metrics
x-ibm-ahub-byok: true
/api/application-monitoring/metrics/endpoints:
post:
description: |-
Use this API endpoint if one wants to retrieve one or more supported aggregation of supported metrics for an Endpoint.
For eg: retrieve `MEAN` aggregation of `latency` metric for an Endpoint `GET /api/foo`.
For more information on supported metrics, refer `Get Metric catalog`.
For more information on Application Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics.
operationId: getEndpointsMetrics
parameters:
- description: 'If enabled, fill the missing data points in the metric result with timestamp and value 0.'
in: query
name: fillTimeSeries
schema:
type: boolean
requestBody:
content:
application/json:
examples:
metrics/endpoints:
description: |
Order by is supported for following attributes: endpointLabel or valid metrics if provided such as latency.mean
value:
applicationBoundaryScope: ALL
endpointId: murzTwzJlGyqc_CFtEKx8INVCfY
excludeSynthetic: true
metrics:
- aggregation: MEAN
metric: latency
order:
by: latency.mean
direction: ASC
pagination:
page: 1
pageSize: 1
timeFrame:
to: 1669190589000
windowSize: 3600000
schema:
$ref: '#/components/schemas/GetEndpoints'
responses:
'200':
content:
application/json:
example:
items:
- endpoint:
id: murzTwzJlGyqc_CFtEKx8INVCfY
label: robot-shop
type: MESSAGING
serviceId: 05b145cfb6fbc24d08a8e01155c0aa2bf8460c87
technologies:
- golangRuntimePlatform
- kubernetesService
syntheticType: NON_SYNTHETIC
synthetic: false
entityType: ENDPOINT
metrics:
latency.mean:
- - 1669190580000
- 2434.5625
page: 1
pageSize: 1
totalHits: 1
adjustedTimeframe:
windowSize: 3600000
to: 1669190580000
schema:
$ref: '#/components/schemas/EndpointMetricResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get Endpoint metrics
tags:
- Application Metrics
x-ibm-ahub-byok: true
/api/application-monitoring/metrics/services:
post:
description: |-
Use this API endpoint if one wants to retrieve one or more supported aggregation of supported metrics for a Service.
For eg: retrieve `MEAN` aggregation of `latency` metric for a Service `payment`.
For more information on supported metrics, refer `Get Metric catalog`.
For more information on Application Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics.
operationId: getServicesMetrics
parameters:
- description: 'If enabled, fill the missing data points in the metric result with timestamp and value 0.'
in: query
name: fillTimeSeries
schema:
type: boolean
- in: query
name: includeSnapshotIds
schema:
type: boolean
requestBody:
content:
application/json:
examples:
metrics/services:
description: |
Order by is supported for following attributes: types, technologies, serviceLabel and
valid metrics if provided such as latency.mean
value:
applicationBoundaryScope: ALL
contextScope: NONE
metrics:
- aggregation: mean
metric: latency
order:
by: latency.mean
direction: DESC
pagination:
page: 1
pageSize: 1
serviceId: c467ca0fa21477fee3cde75a140b2963307388a7
technologies:
- springbootApplicationContainer
timeFrame:
to: 1669190589000
windowSize: 3600000
schema:
$ref: '#/components/schemas/GetServices'
responses:
'200':
content:
application/json:
example:
items:
- service:
id: c467ca0fa21477fee3cde75a140b2963307388a7
label: discount
types:
- HTTP
technologies:
- springbootApplicationContainer
snapshotIds: []
entityType: SERVICE
metrics:
endpoints.distinct_count:
- - 1669190580000
- 4
page: 1
pageSize: 1
totalHits: 1
adjustedTimeframe:
windowSize: 3600000
to: 1669190580000
schema:
$ref: '#/components/schemas/ServiceMetricResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get Service metrics
tags:
- Application Metrics
x-ibm-ahub-byok: true
/api/application-monitoring/services:
get:
description: |-
Use this API endpoint if one wants to retrieve a list of Services.
A use case could be to view the service id of a Service.
For more information on Application Resources please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-resources.
operationId: getServices
parameters:
- description: Name of service
in: query
name: nameFilter
schema:
type: string
- description: Size of time window in milliseconds
in: query
name: windowSize
schema:
type: integer
format: int64
- description: Timestamp since Unix Epoch in milliseconds of the end of the time window
in: query
name: to
schema:
type: integer
format: int64
- description: Page number from results
in: query
name: page
schema:
type: integer
format: int32
- description: Number of items per page
in: query
name: pageSize
schema:
type: integer
format: int32
- description: Include snapshot ids in the results
in: query
name: includeSnapshotIds
schema:
type: boolean
responses:
'200':
content:
application/json:
example:
items:
- entityType: SERVICE
id: 79f1430f4a42a707a97621ca00617e40bd51c31d
label: Robot Shop
snapshotIds:
- CywiRxmGIwtQIKezVs-XMcTX2xg
technologies:
- kafkaCluster
types:
- MESSAGING
page: 1
pageSize: 1
totalHits: 1
schema:
$ref: '#/components/schemas/ServiceResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get services
tags:
- Application Resources
x-ibm-ahub-byok: true
/api/application-monitoring/settings/application:
get:
description: |-
Use this API endpoint if one wants to retrieve a list of all Application Perspectives with their configuration settings.
This endpoint requires `canConfigureApplications` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureApplications` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Configuration of applications` to `true`.
## Deprecated Parameters
**matchSpecification:** A binary tree sturcture of match expression connected with binary operator AND or OR. It is replaced by **tagFilterExpression** which is also used in Application Analyze API endpoints.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: getApplicationConfigs
responses:
'200':
content:
application/json:
example:
- id: CxJ55sRbQwqBIfw5DzpRmQ
label: Discount Canary Build 6987
matchSpecification: null
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: kubernetes.label
stringValue: stage=canary
numberValue: null
booleanValue: null
key: stage
value: canary
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: build=6987
numberValue: null
booleanValue: null
key: build
value: '6987'
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: app=discount
numberValue: null
booleanValue: null
key: app
value: discount
operator: EQUALS
entity: DESTINATION
scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING
boundaryScope: INBOUND
accessRules:
- accessType: READ_WRITE
relationType: GLOBAL
relatedId: null
schema:
type: array
items:
$ref: '#/components/schemas/ApplicationConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: All Application configurations
tags:
- Application Settings
x-ibm-ahub-byok: true
post:
operationId: addApplicationConfig
requestBody:
content:
application/json:
example:
accessRules:
- accessType: READ_WRITE
relationType: GLOBAL
relatedId: null
boundaryScope: INBOUND
label: Discount Build 6987
scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: kubernetes.label
stringValue: stage=canary
numberValue: null
booleanValue: null
key: stage
value: canary
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: build=6987
numberValue: null
booleanValue: null
key: build
value: '6987'
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: app=discount
numberValue: null
booleanValue: null
key: app
value: discount
operator: EQUALS
entity: DESTINATION
schema:
$ref: '#/components/schemas/NewApplicationConfig'
required: true
responses:
'200':
content:
application/json:
example:
id: oLyuFtIfQ3eKzAqM5vBGkQ
label: Discount Build 6987
matchSpecification: null
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: kubernetes.label
stringValue: stage=canary
numberValue: null
booleanValue: null
key: stage
value: canary
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: build=6987
numberValue: null
booleanValue: null
key: build
value: '6987'
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: app=discount
numberValue: null
booleanValue: null
key: app
value: discount
operator: EQUALS
entity: DESTINATION
scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING
boundaryScope: INBOUND
accessRules:
- accessType: READ_WRITE
relationType: GLOBAL
relatedId: null
schema:
$ref: '#/components/schemas/ApplicationConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Add application configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
description: |-
Use this API endpoint if one wants to create a new Application Perspective. This endpoint requires `canConfigureApplications` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureApplications` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Configuration of applications` to `true`.
## Deprecated Parameters
**matchSpecification:** A binary tree sturcture of match expression connected with binary operator AND or OR. It is replaced by **tagFilterExpression** which is also used in Application Analyze API endpoints.
'/api/application-monitoring/settings/application/{id}':
delete:
description: |-
Use this API endpoint if one wants to delete an Application Perspective. This endpoint requires `canConfigureApplications` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureApplications` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
## Deprecated Parameters
**matchSpecification:** A binary tree structure of match expression connected with binary operator AND or OR. It is replaced by **tagFilterExpression** which is also used in Application Analyze API endpoints.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: deleteApplicationConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.'
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Delete application configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
get:
description: |-
Use this API endpoint if one wants to retrieve an Application Perspective with its configuration setting.
This endpoint requires `canConfigureApplications` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureApplications` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Configuration of applications` to `true`.
## Deprecated Parameters
**matchSpecification:** A binary tree structure of match expression connected with binary operator AND or OR. It is replaced by **tagFilterExpression** which is also used in Application Analyze API endpoints.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: getApplicationConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.'
responses:
'200':
content:
application/json:
example:
id: CxJ55sRbQwqBIfw5DzpRmQ
label: Discount Canary Build 6987
matchSpecification: null
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: kubernetes.label
stringValue: stage=canary
numberValue: null
booleanValue: null
key: stage
value: canary
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: build=6987
numberValue: null
booleanValue: null
key: build
value: '6987'
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: app=discount
numberValue: null
booleanValue: null
key: app
value: discount
operator: EQUALS
entity: DESTINATION
scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING
boundaryScope: INBOUND
accessRules:
- accessType: READ_WRITE
relationType: GLOBAL
relatedId: null
schema:
$ref: '#/components/schemas/ApplicationConfig'
description: OK
'403':
description: Insufficient permission
'404':
description: No config found for provided application id
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Application configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
put:
operationId: putApplicationConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.'
requestBody:
content:
application/json:
example:
accessRules:
- accessType: READ
relationType: ROLE
boundaryScope: INBOUND
id: CxJ55sRbQwqBIfw5DzpRmQ
label: Discount Build 1
scope: INCLUDE_NO_DOWNSTREAM
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: kubernetes.label
stringValue: stage=canary
numberValue: null
booleanValue: null
key: stage
value: canary
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: build=6987
numberValue: null
booleanValue: null
key: build
value: '6987'
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: app=discount
numberValue: null
booleanValue: null
key: app
value: discount
operator: EQUALS
entity: DESTINATION
schema:
$ref: '#/components/schemas/ApplicationConfig'
required: true
responses:
'200':
content:
application/json:
example:
id: CxJ55sRbQwqBIfw5DzpRmQ
label: Discount Canary Build 6987
matchSpecification: null
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: kubernetes.label
stringValue: stage=canary
numberValue: null
booleanValue: null
key: stage
value: canary
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: build=6987
numberValue: null
booleanValue: null
key: build
value: '6987'
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: kubernetes.label
stringValue: app=discount
numberValue: null
booleanValue: null
key: app
value: discount
operator: EQUALS
entity: DESTINATION
scope: INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING
boundaryScope: INBOUND
accessRules:
- accessType: READ_WRITE
relationType: GLOBAL
relatedId: null
schema:
$ref: '#/components/schemas/ApplicationConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Update application configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
description: |-
Use this API endpoint if one wants to update an existing Application Perspective. This endpoint requires `canConfigureApplications` permission. One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureApplications` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Configuration of applications` to `true`.
## Deprecated Parameters
**matchSpecification:** A binary tree sturcture of match expression connected with binary operator AND or OR. It is replaced by **tagFilterExpression** which is also used in Application Analyze API endpoints.
/api/application-monitoring/settings/endpoint:
get:
description: |-
Use this API endpoint if one wants to retrieve a list of all endpoint configurations.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: getEndpointConfigs
responses:
'200':
content:
application/json:
example:
- serviceId: d0cedae516f2182ede16f57f67476dd4c7dab9cd
endpointCase: LOWER
endpointNameByFirstPathSegmentRuleEnabled: false
endpointNameByCollectedPathTemplateRuleEnabled: false
rules: null
- serviceId: d0cedae516f2182ede16f57f67476dd4c7dab9cd
endpointCase: UPPER
endpointNameByFirstPathSegmentRuleEnabled: false
endpointNameByCollectedPathTemplateRuleEnabled: false
rules: null
schema:
type: array
items:
$ref: '#/components/schemas/EndpointConfig'
description: OK
security:
- ApiKeyAuth:
- CanConfigureServiceMapping
summary: All Endpoint configurations
tags:
- Application Settings
x-ibm-ahub-byok: true
post:
description: |-
Use this API endpoint if one wants to create an endpoint configuration of a service.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: createEndpointConfig
requestBody:
content:
application/json:
example:
serviceId: d0cedae516f2182ede16f57f67476dd4c7dab9cd
endpointCase: LOWER
endpointNameByFirstPathSegmentRuleEnabled: false
endpointNameByCollectedPathTemplateRuleEnabled: false
rules: null
schema:
$ref: '#/components/schemas/EndpointConfig'
required: true
responses:
'200':
content:
application/json:
example:
serviceId: d0cedae516f2182ede16f57f67476dd4c7dab9cd
endpointCase: LOWER
endpointNameByFirstPathSegmentRuleEnabled: false
endpointNameByCollectedPathTemplateRuleEnabled: false
rules: null
schema:
$ref: '#/components/schemas/EndpointConfig'
description: OK
security:
- ApiKeyAuth:
- CanConfigureServiceMapping
summary: Create endpoint configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
'/api/application-monitoring/settings/endpoint/{id}':
delete:
description: |-
Use this API endpoint if one wants to delete an endpoint configuration of a service.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: deleteEndpointConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureServiceMapping
summary: Delete endpoint configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
get:
description: |-
Use this API endpoint if one wants to retrieve the endpoint configuration of a service.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: getEndpointConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
responses:
'200':
content:
application/json:
example:
serviceId: d0cedae516f2182ede16f57f67476dd4c7dab9cd
endpointCase: LOWER
endpointNameByFirstPathSegmentRuleEnabled: false
endpointNameByCollectedPathTemplateRuleEnabled: false
rules: null
schema:
$ref: '#/components/schemas/EndpointConfig'
description: OK
'403':
description: Insufficient permission
'404':
description: No config found for provided service id
security:
- ApiKeyAuth:
- CanConfigureServiceMapping
summary: Endpoint configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
put:
description: |-
Use this API endpoint if one wants to update an existing endpoint configuration of a service.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: updateEndpointConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
requestBody:
content:
application/json:
example:
serviceId: 20ba31821b079e7d845a08096124880db3eeeb40
endpointNameByCollectedPathTemplateRuleEnabled: true
endpointNameByFirstPathSegmentRuleEnabled: true
rules:
- enabled: true
pathSegments:
- name: api
type: FIXED
- name: version
type: PARAMETER
testCases:
- /api/v2/users
endpointCase: UPPER
schema:
$ref: '#/components/schemas/EndpointConfig'
required: true
responses:
'200':
content:
application/json:
example:
serviceId: 20ba31821b079e7d845a08096124880db3eeeb40
endpointNameByCollectedPathTemplateRuleEnabled: true
endpointNameByFirstPathSegmentRuleEnabled: true
rules:
- enabled: true
pathSegments:
- name: api
type: FIXED
- name: version
type: PARAMETER
testCases:
- /api/v2/users
endpointCase: UPPER
schema:
$ref: '#/components/schemas/EndpointConfig'
description: OK
security:
- ApiKeyAuth:
- CanConfigureServiceMapping
summary: Update endpoint configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
/api/application-monitoring/settings/http-endpoint:
get:
deprecated: true
description: |-
This is a deprecated endpoint. Use `All Endpoint configurations` instead.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: getHttpEndpointConfigs
responses:
'200':
content:
application/json:
example:
serviceId: d0cedae516f2182ede16f57f67476dd4c7dab9cd
endpointNameByFirstPathSegmentRuleEnabled: true
endpointNameByCollectedPathTemplateRuleEnabled: true
rules:
- enabled: true
pathSegments:
- name: api
type: FIXED
- name: version
type: PARAMETER
- type: MATCH_ALL
testCases:
- /api/v2/users
schema:
type: array
items:
$ref: '#/components/schemas/HttpEndpointConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: All HTTP endpoint configurations
tags:
- Application Settings
x-ibm-ahub-byok: true
post:
deprecated: true
description: |-
This is a deprecated endpoint. Use `Create endpoint configuration` instead.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: createHttpEndpointConfig
requestBody:
content:
application/json:
example:
endpointNameByCollectedPathTemplateRuleEnabled: true
endpointNameByFirstPathSegmentRuleEnabled: true
rules:
- enabled: true
pathSegments:
- type: MATCH_ALL
testCases:
- /api/v2/users
serviceId: 20ba31821b079e7d845a08096124880db3eeeb40
schema:
$ref: '#/components/schemas/HttpEndpointConfig'
required: true
responses:
'200':
content:
application/json:
example:
serviceId: 20ba31821b079e7d845a08096124880db3eeeb40
endpointNameByFirstPathSegmentRuleEnabled: true
endpointNameByCollectedPathTemplateRuleEnabled: true
rules:
- enabled: true
pathSegments:
- type: MATCH_ALL
testCases:
- /api/v2/users
schema:
$ref: '#/components/schemas/HttpEndpointConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Create HTTP endpoint configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
'/api/application-monitoring/settings/http-endpoint/{id}':
delete:
deprecated: true
description: |-
This is a deprecated endpoint. Use `Delete endpoint configuration` instead.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: deleteHttpEndpointConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Delete HTTP endpoint configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
get:
deprecated: true
description: |-
This is a deprecated endpoint. Use `Endpoint configuration` instead.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: getHttpEndpointConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
responses:
'200':
content:
application/json:
example:
endpointNameByCollectedPathTemplateRuleEnabled: true
endpointNameByFirstPathSegmentRuleEnabled: true
rules:
- enabled: true
pathSegments:
- name: api
type: FIXED
- name: version
type: PARAMETER
- type: MATCH_ALL
testCases:
- /api/v2/users
serviceId: 20ba31821b079e7d845a08096124880db3eeeb47
schema:
$ref: '#/components/schemas/HttpEndpointConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: HTTP Endpoint configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
put:
deprecated: true
description: |-
This is a deprecated endpoint. Use `Update endpoint configuration` instead.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: updateHttpEndpointConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
requestBody:
content:
application/json:
example:
endpointNameByCollectedPathTemplateRuleEnabled: true
endpointNameByFirstPathSegmentRuleEnabled: true
rules:
- enabled: true
pathSegments:
- name: api
type: FIXED
- name: version
type: PARAMETER
- type: MATCH_ALL
testCases:
- /api/v2/users
serviceId: 20ba31821b079e7d845a08096124880db3eeeb40
schema:
$ref: '#/components/schemas/HttpEndpointConfig'
required: true
responses:
'200':
content:
application/json:
example:
endpointNameByCollectedPathTemplateRuleEnabled: true
endpointNameByFirstPathSegmentRuleEnabled: true
rules:
- enabled: true
pathSegments:
- name: api
type: FIXED
- name: version
type: PARAMETER
- type: MATCH_ALL
testCases:
- /api/v2/users
serviceId: 20ba31821b079e7d845a08096124880db3eeeb40
schema:
$ref: '#/components/schemas/HttpEndpointConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Update HTTP endpoint configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
/api/application-monitoring/settings/manual-service:
get:
operationId: getAllManualServiceConfigs
responses:
'200':
content:
application/json:
example:
- id: wh49Z209S82aGvRl8ZZ0dQ
tagFilterExpression:
type: TAG_FILTER
name: call.database.connection
stringValue: 'redis:6379'
numberValue: null
booleanValue: null
key: null
value: 'redis:6379'
operator: EQUALS
entity: NOT_APPLICABLE
unmonitoredServiceName: null
existingServiceId: 2224a6ad91373ef2504dc6b5795d421bff8e4a4d
description: null
enabled: true
schema:
type: array
items:
$ref: '#/components/schemas/ManualServiceConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: All manual service configurations
tags:
- Application Settings
x-ibm-ahub-byok: true
description: |-
Use this API Endpoint if one wants to retrieve a list of all manual service configurations. This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
**This is an experimental endpoint to workaround service mapping issues.**
### Use cases
The manual service configuration APIs enables mapping calls to services using tag filter expressions based on call tags.
There are two use cases on the usage of these APIs:
1. Map to an Unmonitored Service with a Custom Name. For example, Map HTTP calls to different Google domains (`www.ibm.com`, `www.ibm.fr`) into a single service named `IBM` using the `call.http.host tag`.
2. Link Calls to an Existing Monitored Service. For example, Link database calls (`jdbc:mysql://10.128.0.1:3306`) to an existing service like `MySQL@3306` on demo-host by referencing its service ID.
post:
operationId: addManualServiceConfig
requestBody:
content:
application/json:
example:
description: Map source service example
enabled: true
existingServiceId: c467ca0fa21477fee3cde75a140b2963307388a7
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: front
numberValue: null
booleanValue: null
key: null
value: front
operator: EQUALS
entity: SOURCE
unmonitoredServiceName: null
schema:
$ref: '#/components/schemas/NewManualServiceConfig'
required: true
responses:
'200':
content:
application/json:
example:
id: FpG0_9tZT5OjzYM7m5VgUQ
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: front
numberValue: null
booleanValue: null
key: null
value: front
operator: EQUALS
entity: SOURCE
unmonitoredServiceName: null
existingServiceId: c467ca0fa21477fee3cde75a140b2963307388a7
description: Map source service example
enabled: true
schema:
$ref: '#/components/schemas/ManualServiceConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Add manual service configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
description: |-
Use this API endpoint if one wants to add a manual service configuration. This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
**This is an experimental endpoint to workaround service mapping issues.**
### Use cases
The manual service configuration APIs enables mapping calls to services using tag filter expressions based on call tags.
There are two use cases on the usage of these APIs:
1. Map to an Unmonitored Service with a Custom Name. For example, Map HTTP calls to different Google domains (`www.ibm.com`, `www.ibm.fr`) into a single service named `IBM` using the `call.http.host tag`.
2. Link Calls to an Existing Monitored Service. For example, Link database calls (`jdbc:mysql://10.128.0.1:3306`) to an existing service like `MySQL@3306` on demo-host by referencing its service ID.
### Important Note
1. Use `tagfilterExpression` to match calls on which the manual service configuration will be applied. **Only call tags are allowed** in the tag filter expression.
2. Either `unmonitoredServiceName` or `existingServiceId` should be specified in a configuration.
put:
operationId: replaceAllManualServiceConfigs
requestBody:
content:
application/json:
example:
- description: Map source service
enabled: true
existingServiceId: c467ca0fa21477fee3cde75a140b2963307388a7
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: front
numberValue: null
booleanValue: null
key: null
value: front
operator: EQUALS
entity: SOURCE
unmonitoredServiceName: null
schema:
type: array
items:
$ref: '#/components/schemas/NewManualServiceConfig'
required: true
responses:
'200':
content:
application/json:
example:
- id: undcnbu-S7OWi_4q4BnG4Q
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: front
numberValue: null
booleanValue: null
key: null
value: front
operator: EQUALS
entity: SOURCE
unmonitoredServiceName: null
existingServiceId: c467ca0fa21477fee3cde75a140b2963307388a7
description: Map source service
enabled: true
schema:
type: array
items:
$ref: '#/components/schemas/ManualServiceConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Replace all manual service configurations
tags:
- Application Settings
x-ibm-ahub-byok: true
description: |-
Use this API endpoint if one wants to update more than 1 manual service configurations. This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
**This is an experimental endpoint to workaround service mapping issues.**
### Use cases
The manual service configuration APIs enables mapping calls to services using tag filter expressions based on call tags.
There are two use cases on the usage of these APIs:
1. Map to an Unmonitored Service with a Custom Name. For example, Map HTTP calls to different Google domains (`www.ibm.com`, `www.ibm.fr`) into a single service named `IBM` using the `call.http.host tag`.
2. Link Calls to an Existing Monitored Service. For example, Link database calls (`jdbc:mysql://10.128.0.1:3306`) to an existing service like `MySQL@3306` on demo-host by referencing its service ID.
### Important Note
1. Use `tagfilterExpression` to match calls on which the manual service configuration will be applied. **Only call tags are allowed** in the tag filter expression.
2. Either `unmonitoredServiceName` or `existingServiceId` should be specified in a configuration.
'/api/application-monitoring/settings/manual-service/{id}':
delete:
operationId: deleteManualServiceConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: A unique id of the manual service configuration.
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Delete manual service configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
description: |-
Use this API endpoint if one wants to delete a manual service configuration. This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
**This is an experimental endpoint to workaround service mapping issues.**
### Use cases
The manual service configuration APIs enables mapping calls to services using tag filter expressions based on call tags.
There are two use cases on the usage of these APIs:
1. Map to an Unmonitored Service with a Custom Name. For example, Map HTTP calls to different Google domains (`www.ibm.com`, `www.ibm.fr`) into a single service named `IBM` using the `call.http.host tag`.
2. Link Calls to an Existing Monitored Service. For example, Link database calls (`jdbc:mysql://10.128.0.1:3306`) to an existing service like `MySQL@3306` on demo-host by referencing its service ID.
put:
operationId: updateManualServiceConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: A unique id of the manual service configuration.
requestBody:
content:
application/json:
example:
description: Map source service example
enabled: true
existingServiceId: c467ca0fa21477fee3cde75a140b2963307388a7
id: BDGeDcG4TRSzRkJ1mGOk-Q
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: front
numberValue: null
booleanValue: null
key: null
value: front
operator: EQUALS
entity: SOURCE
unmonitoredServiceName: null
schema:
$ref: '#/components/schemas/ManualServiceConfig'
required: true
responses:
'200':
content:
application/json:
example:
id: BDGeDcG4TRSzRkJ1mGOk-Q
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: front
numberValue: null
booleanValue: null
key: null
value: front
operator: EQUALS
entity: SOURCE
unmonitoredServiceName: null
existingServiceId: c467ca0fa21477fee3cde75a140b2963307388a7
description: Map source service example
enabled: true
schema:
$ref: '#/components/schemas/ManualServiceConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Update manual service configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
description: |-
Use this API endpoint if one wants to update a manual service configuration.
**This is an experimental endpoint to workaround service mapping issues.**
### Use cases
The manual service configuration APIs enables mapping calls to services using tag filter expressions based on call tags.
There are two use cases on the usage of these APIs:
1. Map to an Unmonitored Service with a Custom Name. For example, Map HTTP calls to different Google domains (`www.ibm.com`, `www.ibm.fr`) into a single service named `IBM` using the `call.http.host tag`.
2. Link Calls to an Existing Monitored Service. For example, Link database calls (`jdbc:mysql://10.128.0.1:3306`) to an existing service like `MySQL@3306` on demo-host by referencing its service ID.
### Important Note
1. Use `tagfilterExpression` to match calls on which the manual service configuration will be applied. **Only call tags are allowed** in the tag filter expression.
2. Either `unmonitoredServiceName` or `existingServiceId` should be specified in a configuration.
/api/application-monitoring/settings/service:
get:
description: |-
Use this API endpoint if one wants to retrive a list of all service configurations.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: getServiceConfigs
responses:
'200':
content:
application/json:
example:
- id: MyhomcyCRz2DF3O2KNXpGg
name: Rule
comment: null
label: '{docker.container.name}'
enabled: false
matchSpecification:
- key: docker.container.name
value: .*
schema:
type: array
items:
$ref: '#/components/schemas/ServiceConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: All service configurations
tags:
- Application Settings
x-ibm-ahub-byok: true
post:
description: |-
Use this API endpoint if one wants to create a custom service rule.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
## Errata:
The following field is documented in the request schema:
- The `id` field is not mandatory and one can't have a service configuration id before creating one configuration.
Instana creates it automatically.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: addServiceConfig
requestBody:
content:
application/json:
example:
comment: null
enabled: true
label: '{gce.zone}-{jvm.args.abc}'
matchSpecification:
- key: gce.zone
value: .*
- key: jvm.args.abc
value: .*
name: ABC is good
schema:
$ref: '#/components/schemas/ServiceConfig'
required: true
responses:
'200':
content:
application/json:
example:
id: oMsVfR0fSCuTKF2TFdYRmQ
name: ABC is good
comment: null
label: '{gce.zone}-{jvm.args.abc}'
enabled: true
matchSpecification:
- key: gce.zone
value: .*
- key: jvm.args.abc
value: .*
schema:
$ref: '#/components/schemas/ServiceConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Add service configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
put:
description: |-
Use this API endpoint if one wants to modify 1 or more existing service configuration.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: replaceAll
requestBody:
content:
application/json:
example:
- comment: null
enabled: true
id: 8C-jGYx8Rsue854tzkh8KQ
label: '{docker.container.name}'
matchSpecification:
- key: docker.container.name
value: .*
name: Rule
schema:
type: array
items:
$ref: '#/components/schemas/ServiceConfig'
required: true
responses:
'200':
content:
application/json:
example:
- id: 9uma4MhnTTSyBzwu_FKBJA
name: Rule
comment: null
label: '{docker.container.name}'
enabled: true
matchSpecification:
- key: docker.container.name
value: .*
schema:
type: array
items:
$ref: '#/components/schemas/ServiceConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Replace all service configurations
tags:
- Application Settings
x-ibm-ahub-byok: true
/api/application-monitoring/settings/service/order:
put:
description: |-
Use this API endpoint if one wants to change the order of service configurations aka custom service rules.
Note that all service configuration IDs have to be passed in the request to re-order the configurations.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: orderServiceConfig
requestBody:
content:
application/json:
example:
- 9uma4MhnTTSyBzwu_FKBJA
- oMsVfR0fSCuTKF2TFdYRmQ
schema:
type: array
items:
type: string
required: true
responses:
'204':
description: Order of Service rules modified
'400':
description: Provided config is not found
'401':
description: Unauthorized request
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Order of service configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
'/api/application-monitoring/settings/service/{id}':
delete:
description: |-
Use this API endpoint if one wants to delete a service configuration.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: deleteServiceConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: 'A unique string for the service configuration. Eg: `G510hmXYSDysLZ5kuj0BaQ`'
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Delete service configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
get:
description: |-
Use this API endpoint if one wants to retrieve a particular custom service rule.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: getServiceConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: 'A unique string for the service configuration. Eg: `G510hmXYSDysLZ5kuj0BaQ`'
responses:
'200':
content:
application/json:
example:
id: P_37IlGQT0qQy9fxLxvFqA
name: Rule
comment: null
label: '{docker.container.name}'
enabled: true
matchSpecification:
- key: docker.container.name
value: .*
schema:
$ref: '#/components/schemas/ServiceConfig'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Service configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
put:
description: |-
Use this API endpoint if one wants to update a particular custom service rule.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Application Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-settings.
operationId: putServiceConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: 'A unique string for the service configuration. Eg: `G510hmXYSDysLZ5kuj0BaQ`'
requestBody:
content:
application/json:
example:
comment: null
enabled: true
id: 9uma4MhnTTSyBzwu_FKBJA
label: '{gce.zone}-{jvm.args.abc}'
matchSpecification:
- key: gce.zone
value: .*
- key: jvm.args.abc
value: .*
name: DEF is good
schema:
$ref: '#/components/schemas/ServiceConfig'
required: true
responses:
'200':
content:
application/json:
example:
id: 9uma4MhnTTSyBzwu_FKBJA
name: DEF is good
comment: null
label: '{gce.zone}-{jvm.args.abc}'
enabled: true
matchSpecification:
- key: gce.zone
value: .*
- key: jvm.args.abc
value: .*
schema:
$ref: '#/components/schemas/ServiceConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Update service configuration
tags:
- Application Settings
x-ibm-ahub-byok: true
/api/application-monitoring/topology/services:
get:
description: |
Use this API endpoint if one wants to retrieve services and connections (call paths) between them for calls in the scope given by the parameters.
## Errata:
The following fields are unsupported but documented in the schema for the result `services`:
- The `applications` field is always missing and the `snapshotIds` field is always empty, despite being declared as required in the result schema.
- The `maxSeverity` and `numberOfOpenIssues` fields are always missing.
operationId: getServicesMap
parameters:
- description: Size of time window in milliseconds
in: query
name: windowSize
schema:
type: integer
format: int64
- description: Timestamp since Unix Epoch in milliseconds of the end of the time window
in: query
name: to
schema:
type: integer
format: int64
- description: Filter by application ID
in: query
name: applicationId
schema:
type: string
- description: 'Filter by application scope, i.e., INBOUND or ALL. The default value is INBOUND. Applies only if application ID filter is specified.'
in: query
name: applicationBoundaryScope
schema:
type: string
enum:
- ALL
- INBOUND
responses:
'200':
content:
application/json:
example:
connections:
- from: 8bfb4e1aa590eab8f08f837b97acf5803a5737ed
to: f17e7efb3b9b2d62bfec6b07905759fb81e99797
calls: 2179
latency: 1.6103717301514455
errorRate: 0
services:
- id: f17e7efb3b9b2d62bfec6b07905759fb81e99797
label: robot-shop
types:
- MESSAGING
technologies:
- kubernetesService
- rabbitMq
snapshotIds: []
entityType: SERVICE
schema:
$ref: '#/components/schemas/ServiceMap'
description: OK
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
security:
- ApiKeyAuth:
- Default
summary: Gets the service topology
tags:
- Application Topology
x-ibm-ahub-byok: true
'/api/application-monitoring/v2/analyze/traces/{id}':
get:
description: |-
Use this API endpoint if one wants to retrive comprehensive details of a particular trace.
For more information on Application Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze.
operationId: getTraceDownload
parameters:
- in: path
name: id
required: true
schema:
type: string
description: An Instana generated unique identifier for a trace.
- in: query
name: retrievalSize
schema:
type: integer
format: int32
description: |
The number of records to retrieve in a single request.
For example, when retrievalSize is set to 30, offset is 20, and ingestionTime is 1725519793, the API request will fetch 30 records starting from the 21st record after the specified `ingestionTime`.
Minimum value is 1 and maximum value is 10000.
maximum: 10000
minimum: 1
- in: query
name: offset
schema:
type: integer
format: int32
description: |
The number of records to be skipped from the `ingestionTime`.
For example: when `offset` is 20 and `ingestionTime` is 1725519793, the API response should have records starting from the 21st record after the specified `ingestionTime`.
Note that if `offset` value is not empty, `ingestionTime` can't be empty.
- in: query
name: ingestionTime
schema:
type: integer
format: int64
description: |
The timestamp indicating the starting point from which data was ingested.
The format of the timestamp is in Unix epoch Time.
For example, `Thursday, 5 September 2024 07:03:13 GMT` can be represented as `1725519793`.
responses:
'200':
content:
application/json:
example:
items:
- id: daa9141549aea210
timestamp: 1688544599223
parentId: null
foreignParentId: null
name: GET /api/shipping/cities/dk
duration: 30
minSelfTime: 1
networkTime: null
callCount: 1
errorCount: 0
destination:
service:
id: ce4b152bac7b99744d8314838e49b799afd6dd96
label: nginx-web
endpoint:
id: wAS2omB44e0EK4xqL7f-e-wt4C4
label: upstream shipping
type: HTTP
technologies: []
cursor:
'@class': .IngestionOffsetCursor
ingestionTime: 1688547327000
offset: 1
canLoadMore: false
totalHits: 3
totalRepresentedItemCount: 3
totalRetainedItemCount: 3
schema:
$ref: '#/components/schemas/TraceDownloadResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get trace detail
tags:
- Application Analyze
x-ibm-ahub-byok: true
'/api/application-monitoring/v2/analyze/traces/{traceId}/calls/{callId}/details':
get:
description: |-
Use this API endpoint to retrieve a vast information about a call present in a trace.
For more information on Application Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-analyze.
operationId: getCallDetails
parameters:
- in: path
name: traceId
required: true
schema:
type: string
description: An Instana generated unique identifier for a trace.
- in: path
name: callId
required: true
schema:
type: string
description: 'The call ID. A unique identifier for an individual call. For example: `1bcad5c82338deaf`.'
responses:
'200':
content:
application/json:
example:
id: 14219b3deb6a6bc5
label: GET /api/shipping/cities/bg
start: 1707295859759
duration: 3597
minSelfTime: 2
networkTime: null
errorCount: 0
batchSize: 1
batchSelfTime: 3597
source:
applications: []
service:
id: ROOT
label: ''
endpoint:
id: XCjGvnwuiak0m3ISke3naE-NrGA
label: Unspecified
type: UNDEFINED
physicalContext: {}
destination:
applications: []
service:
id: ce4b152bac7b99744d8314838e49b799afd6dd96
label: nginx-web
endpoint:
id: wAS2omB44e0EK4xqL7f-e-wt4C4
label: upstream shipping
type: HTTP
physicalContext:
process:
id: jXvrnXHuBqfhlZQTux-ck1PYd6Y
time: 1707258023000
label: Node @30303
plugin: nginx
data: null
spans:
- id: 14219b3deb6a6bc5
parentId: ''
name: sdk.http.entry
kind: ENTRY
foreignParentId: ''
start: 1707295859759
duration: 3597
errorCount: 0
stackTrace: []
data:
service: nginx-web
http:
path: /api/shipping/cities/bg
protocol: http
route_id: upstream shipping
method: GET
host: 'web:8080'
url: 'http://web:8080//api/shipping/cities/bg'
status: 200
logs: []
synthetic: false
schema:
$ref: '#/components/schemas/TraceActivityTreeNodeDetails'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get call detail
tags:
- Application Analyze
x-ibm-ahub-byok: true
/api/application-monitoring/v2/metrics:
post:
description: |-
Use this API endpoint if one wants to retrieve one or more supported aggregation of supported metrics for a combination of entities.
For eg: retrieve `MEAN` aggregation of `latency` metric for an Endpoint `GET /api/foo`, Service `payment` and Application Perspective `app`.
Consider this API endpoint an upgraded version of `Get Application Metrics`, `Get Endpoint metrics` and `Get Service metrics`.
For more information on supported metrics, refer `Get Metric catalog`.
For more information on Application Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-metrics.
operationId: getApplicationDataMetricsV2
requestBody:
content:
application/json:
example:
includeInternal: true
includeSynthetic: true
metrics:
- aggregation: MEAN
metric: latency
tagFilterExpression:
type: TAG_FILTER
name: service.name
operator: EQUALS
entity: DESTINATION
value: warehouse
timeFrame:
to: 1669190589000
windowSize: 3600000
schema:
$ref: '#/components/schemas/GetApplicationMetrics'
responses:
'200':
content:
application/json:
example:
metrics:
latency.mean:
- - 1669190580000
- 106.85055708882756
adjustedTimeframe:
windowSize: 3600000
to: 1669190580000
schema:
$ref: '#/components/schemas/MetricAPIResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get Application Data Metrics
tags:
- Application Metrics
x-ibm-ahub-byok: true
/api/automation/actioninstances:
delete:
description: 'Deletes the automation action run results from the action run history. The results to delete is filtered by the filter values given in the query parameters. The automation action run result will be deleted only if the action run result was created within the timeframe specified in the `from` and `to` query parameters. This call requires `Deletion of automation action history` permission and, `from` and `to` query parameters.'
operationId: deleteActionInstances
parameters:
- description: From date filter in milliseconds (13-digit) to look up the action run results to delete
example: 1706713140000
in: query
name: from
required: true
schema:
type: integer
format: int64
- description: To date filter in milliseconds (13-digit) to look up the action run results to delete
example: 1706713140000
in: query
name: to
required: true
schema:
type: integer
format: int64
- description: Target snapshot ID to look up the action run results to delete
example: aCtEoR6NSPqG61QkIkwwCw
in: query
name: targetSnapshotId
schema:
type: string
- description: Event ID filter to look up the action run results to delete
example: bCtEoR6NSPqG61QkIkwwCw
in: query
name: eventId
schema:
type: string
- description: Event specification ID filter to look up the action run results to delete
example: 1706713140000
in: query
name: eventSpecificationId
schema:
type: string
- description: 'Text in action run result name, description and event name to filter the action run results to delete'
example: 1706713140000
in: query
name: search
schema:
type: string
- description: Action type filter to look up the action run results to delete
example: 'One or more of the following types HTTP, SCRIPT, ANSIBLE, GITHUB, GITLAB, JIRA'
in: query
name: types
schema:
type: array
items:
type: string
- description: Action status filter to look up the action run results to delete
example: 'One or more of the following status SUBMITTED, IN_PROGRESS, SUCCESS, FAILED, TIMEOUT'
in: query
name: actionStatuses
schema:
type: array
items:
type: string
- description: List of action IDs to filter the action run results to delete
example: cCtEoR6NSPqG61QkIkwwCw
in: query
name: actionIds
schema:
type: array
items:
type: string
- description: Policy ID filter to look up the action run results to delete
example: bCtEoR6NSPqG61QkIkwwCw
in: query
name: policyId
schema:
type: string
responses:
'200':
content:
application/json:
example:
deletedDocumentsCount: '2'
description: Automation action run results are deleted.
'400':
description: '`from` date or `to` date query parameter is missing.'
'403':
description: Automation feature is not enabled or Insufficient permissions.
'500':
description: The request do not contain a valid user or API Token.
security:
- ApiKeyAuth:
- canDeleteAutomationActionHistory
summary: Delete automation action run results.
tags:
- Action History
x-ibm-ahub-byok: true
get:
description: 'Get the details of automation action run results from action run history. The results are filtered by the filters in the query parameters. The automation action run result will be fetched only if the action run results were created within the timeframe specified by the `windowSize` and `to` query parameters. The `windowSize` parameter is used to compute the from date (`from = to - windowSize`) of the timeframe. The default value for `windowSize` is 10 minutes and the default value for `to` is current system time. When using personal access tokens, the user must have at least `Viewer` access for Automation and the automation action run results returned are also filtered based on the access set in `Limited access` permission settings. This API returns paginated result as specified in query parameters `page` and `pageSize`. The response contains list of automation action run results whose contents corresponds to the `page` query parameter and whose size corresponds to the `pageSize` query parameter.'
operationId: getActionInstances
parameters:
- description: Window size filter in milliseconds (to compute the from date) to get the action run result details
example: 10000
in: query
name: windowSize
schema:
type: integer
format: int64
- description: To date filter in milliseconds (13-digit) to get the action run result details
example: 1706713140000
in: query
name: to
schema:
type: integer
format: int64
- description: Page to fetch -- used for paging the action run result records
example: 2
in: query
name: page
schema:
type: integer
format: int32
- description: Number of records to return in each page -- used for paging the action run result records
example: 50
in: query
name: pageSize
schema:
type: integer
format: int32
- description: Target snapshot ID filter to get the action run result details
example: nCtEoR6NSPqG61QkIkwwCw
in: query
name: targetSnapshotId
schema:
type: string
- description: Event ID filter to get the action run result details
example: nCtEoR6NSPqG61QkIkwwCw
in: query
name: eventId
schema:
type: string
- description: Event specification ID filter to get the action run result details
example: 1706713140000
in: query
name: eventSpecificationId
schema:
type: string
- description: 'Text in action run result name, description and event name filter to get the action run result details'
example: 1706713140000
in: query
name: search
schema:
type: string
- description: Action type filter to get the action run result details
example: 'One or more of the following types HTTP, SCRIPT, ANSIBLE, GITHUB, GITLAB, JIRA'
in: query
name: types
schema:
type: array
items:
type: string
- description: Action status filter to get the action run result details
example: 'One or more of the following status SUBMITTED, IN_PROGRESS, SUCCESS, FAILED, TIMEOUT'
in: query
name: actionStatuses
schema:
type: array
items:
type: string
- description: Action IDs filter to get the action run result details for only these actions
in: query
name: actionIds
schema:
type: array
items:
type: string
- description: Policy ID filter to get the action run result details
example: nCtEoR6NSPqG61QkIkwwCw
in: query
name: policyId
schema:
type: string
- description: Action run result column to order the result set.
example: Name of the action run result column. Default is action run result start date.
in: query
name: orderBy
schema:
type: string
- description: Sort order direction.
example: asc or desc
in: query
name: orderDirection
schema:
type: string
responses:
'200':
content:
application/json:
example:
items:
- actionInstanceId: fqiH0HOgR1-4Ygoy5EDycw
actionId: d473c1b0-0740-4d08-95fe-31e5d0a9faff
actionName: Hello World
type: SCRIPT
status: SUCCESS
createdDate: 1710162882369
startDate: 1710162882653
endDate: 1710162882826
eventId: M3wuBxuaSDyecZJ7ICioiw
eventSpecificationId: en0FW6XRWu7aRsD4055dbMLAuSU
problemText: Test event
hostSnapshotId: 2nIOVtEW-iPbsEIi89-yDqJHi2g
targetSnapshotId: jfSmhACY-Oa3a8zfjJxvOxJeDSk
metadata: []
page: 1
pageSize: 50
totalHits: 500
schema:
$ref: '#/components/schemas/PaginatedResult'
description: Automation action run result details are returned.
'403':
description: Automation feature is not enabled or Insufficient permissions.
security:
- ApiKeyAuth:
- Default
summary: Get the details of automation action run results from action run history.
tags:
- Action History
x-ibm-ahub-byok: true
post:
description: Submits the automation action for execution on an agent. The automation action to execute and the agent on which to execute the action must be specified as actionId and hostId. For more details on the request payload see the request sample. This call requires `Execution of automation actions` permission.
operationId: addActionInstance
requestBody:
content:
application/json:
example:
hostId: aHostId
actionId: d473c1b0-0740-4d08-95fe-31e5d0a9faff
policyId: 2nIOVtEW-iPbsEIi89-yDqJabc
inputParameters:
- name: name
type: type
value: value
eventId: M3wuBxuaSDyecZJ7ICioiw
async: 'true'
timeout: '600'
schema:
$ref: '#/components/schemas/ActionInstanceRequest'
required: true
responses:
'200':
content:
application/json:
example:
actionInstanceId: fqiH0HOgR1-4Ygoy5EDycw
actionId: d473c1b0-0740-4d08-95fe-31e5d0a9faff
actionName: Hello World
type: SCRIPT
status: SUBMITTED
createdDate: 1710162882369
eventId: M3wuBxuaSDyecZJ7ICioiw
eventSpecificationId: en0FW6XRWu7aRsD4055dbMLAuSU
problemText: Test event
hostSnapshotId: 2nIOVtEW-iPbsEIi89-yDqJHi2g
targetSnapshotId: jfSmhACY-Oa3a8zfjJxvOxJeDSk
inputParameters: []
outputParameters: []
metadata: []
externalSourceType: ''
actorId: 5ee5195fbea6150001758c40
actorName: Stan
actorType: USER
eventEntityType: ''
actionDescription: Simple script action for testing
policyId: 2nIOVtEW-iPbsEIi89-yDqJabc
schema:
$ref: '#/components/schemas/ActionInstance'
description: Automation action submitted for execution on the agent.
'400':
description: The payload in the request body is not valid or the action ID (actionId) in the payload is invalid or the agent host ID (hostId) in the payload is invalid.
'403':
description: Automation feature is not enabled or Insufficient permissions.
security:
- ApiKeyAuth:
- canRunAutomationActions
summary: Run an automation action.
tags:
- Action History
x-ibm-ahub-byok: true
'/api/automation/actioninstances/{actionInstanceId}':
delete:
description: 'Deletes the automation action run result specified in the request path from the action run history. The automation action run result will be deleted only if the action run result was created within the timeframe specified in the `from` and `to` query parameters. To get the automation action run result ID and the created time, you can run `/api/automation/actioninstances` and `/api/automation/actioninstances/<{actionInstanceId}>` REST calls. This call requires `Deletion of automation action history` permission.'
operationId: deleteActionInstance
parameters:
- description: Automation action run result ID to delete.
example: nCtEoR6NSPqG61QkIkwwCw
in: path
name: actionInstanceId
required: true
schema:
type: string
- description: From date filter in milliseconds (13-digit) to look up the action run result ID.
example: 1706713140000
in: query
name: from
required: true
schema:
type: integer
format: int64
- description: To date filter in milliseconds (13-digit) to look up the action run result ID.
example: 1706713190000
in: query
name: to
required: true
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
deletedDocumentsCount: '2'
description: Automation action run result is deleted.
'400':
description: 'Automation action run result ID is missing in the request path, or `from` date or `to` date is missing in the query parameters.'
'403':
description: Automation feature is not enabled or Insufficient permissions.
'500':
description: The request do not contain a valid user or API Token.
security:
- ApiKeyAuth:
- canDeleteAutomationActionHistory
summary: Deletes an automation action run result from the action run history by ID.
tags:
- Action History
x-ibm-ahub-byok: true
get:
description: 'Get the details of automation action run result specified in the request path from action run history. The automation action run result will be fetched only if the action run result was created within the timeframe specified by the `windowSize` and `to` query parameters. The `windowSize` parameter is used to compute the from date (`from = to - windowSize`) of the timeframe. The default value for `windowSize` is 10 minutes and the default value for `to` is current system time. To get the automation action run result ID and the created time, you can run `/api/automation/actioninstances` REST calls. When using personal access tokens, the user must have at least `Viewer` access for Automation.'
operationId: getActionInstance
parameters:
- description: action run result ID to get action run result details
example: nCtEoR6NSPqG61QkIkwwCw
in: path
name: actionInstanceId
required: true
schema:
type: string
- description: Window size in milliseconds. This value is used compute the from date `(from = to - windowSize)` to get the action run result details. The default `windowSize` is set to 10 minutes if this value is not provided.
example: 10000
in: query
name: windowSize
schema:
type: integer
format: int64
- description: To date filter in milliseconds (13-digit) to get the action run result details. The default `to` date is set to `System.currentTimeMillis()` if this value is not provided.
example: 1706713140000
in: query
name: to
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
actionInstanceId: fqiH0HOgR1-4Ygoy5EDycw
actionId: d473c1b0-0740-4d08-95fe-31e5d0a9faff
actionName: Hello World
type: SCRIPT
status: SUCCESS
returnCode: 0
errorMessage: ''
createdDate: 1710162882369
startDate: 1710162882653
endDate: 1710162882826
eventId: M3wuBxuaSDyecZJ7ICioiw
eventSpecificationId: en0FW6XRWu7aRsD4055dbMLAuSU
problemText: Test event
hostSnapshotId: 2nIOVtEW-iPbsEIi89-yDqJHi2g
inputParameters: []
outputParameters: []
metadata: []
targetSnapshotId: jfSmhACY-Oa3a8zfjJxvOxJeDSk
externalSourceType: ''
actorId: 5ee5195fbea6150001758c40
actorName: Stan
actorType: USER
eventEntityType: ''
actionDescription: Simple script action for testing
policyId: 2nIOVtEW-iPbsEIi89-yDqJabc
output: Hello world!
schema:
$ref: '#/components/schemas/ActionInstance'
description: The automation action run result detail is returned.
'400':
description: Missing automation action run result ID.
'403':
description: Automation feature is not enabled or Insufficient permissions.
security:
- ApiKeyAuth:
- Default
summary: Get the details of an automation action run result by ID from action run history.
tags:
- Action History
x-ibm-ahub-byok: true
/api/automation/actions:
get:
description: 'Get all automation actions. When using personal access tokens, the user must have at least `Viewer` access for Automation and the actions returned are also filtered based on the access set in `Limited access` permission settings.'
operationId: getActions
responses:
'200':
content:
application/json:
example:
- id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
name: Hello World
description: Simple script action for testing
type: SCRIPT
fields:
- name: subtype
description: script subtype
encoding: base64
value: YmFzaA==
secured: false
- name: script_ssh
description: script content
encoding: base64
value: ZWNobyBoZWxsbyB3b3JsZA==
secured: false
- name: timeout
description: timeout of the action execution in seconds
encoding: ascii
value: ''
secured: false
inputParameters: []
tags:
- Test
createdAt: 1694442511.129923
modifiedAt: 1703191040.321448
schema:
type: array
items:
$ref: '#/components/schemas/Action'
description: Automation actions are returned.
'403':
description: Automation feature is not enabled or Insufficient permissions.
'500':
description: Failed to retrieve the automation actions.
security:
- ApiKeyAuth:
- Default
summary: Get all automation actions.
tags:
- Action Catalog
x-ibm-ahub-byok: true
'/api/automation/actions/{id}':
get:
description: 'Get an automation action by ID specified in the request path. When using personal access tokens, the user must have at least `Viewer` access for Automation and the actions returned are also filtered based on the access set in `Limited access` permission settings.'
operationId: getActionByID
parameters:
- description: Automation action ID
example: d473c1b0-0740-4d08-95fe-31e5d0a9faff
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
name: Hello World
description: Simple script action for testing
type: SCRIPT
fields:
- name: subtype
description: script subtype
encoding: base64
value: YmFzaA==
secured: false
- name: script_ssh
description: script content
encoding: base64
value: ZWNobyBoZWxsbyB3b3JsZA==
secured: false
- name: timeout
description: timeout of the action execution in seconds
encoding: ascii
value: ''
secured: false
inputParameters: []
tags:
- Test
createdAt: 1694442511.129923
modifiedAt: 1703191040.321448
schema:
$ref: '#/components/schemas/Action'
description: Automation action is returned.
'403':
description: Automation feature is not enabled or Insufficient permissions.
'404':
description: Automation action not found.
security:
- ApiKeyAuth:
- Default
summary: Get an automation action by ID.
tags:
- Action Catalog
x-ibm-ahub-byok: true
/api/automation/ai/action/match:
get:
description: Get automation actions that match based on application ID or snapshot ID within a specified time window.
operationId: getActionMatchesByIdAndTimeWindow
parameters:
- in: query
name: applicationId
schema:
type: string
- in: query
name: snapshotId
schema:
type: string
- in: query
name: to
schema:
type: integer
format: int64
- in: query
name: windowSize
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ActionMatch'
description: The automation actions that match are returned.
'400':
description: 'Either applicationId or snapshotId must be provided, but not both.'
'403':
description: Automation feature is not enabled or Insufficient permissions.
'500':
description: Failed to retrieve the matching automation actions.
security:
- ApiKeyAuth:
- Default
summary: Get action matches by application ID or snapshot ID.
tags:
- Action Catalog
x-ibm-ahub-byok: true
post:
description: Get automation actions that match the incident or issue data in the request body.
operationId: getActionMatches
parameters:
- in: query
name: targetSnapshotId
schema:
type: string
requestBody:
content:
application/json:
example:
name: CPU spends significant time waiting for input/output
description: Checks whether the system spends significant time waiting for input/output.
schema:
$ref: '#/components/schemas/ActionSearchSpace'
required: true
responses:
'200':
content:
application/json:
example:
- score: 0.12087341955930318
action:
id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
name: Hello World
description: Simple script action for testing
type: SCRIPT
fields:
- name: subtype
description: script subtype
encoding: base64
value: YmFzaA==
secured: false
- name: script_ssh
description: script content
encoding: base64
value: ZWNobyBoZWxsbyB3b3JsZA==
secured: false
- name: timeout
description: timeout of the action execution in seconds
encoding: ascii
value: ''
secured: false
inputParameters: []
tags:
- sample
createdAt: 1694442511.129923
modifiedAt: 1703191040.321448
color: low
confidence: low
aiEngine: NLP
schema:
type: array
items:
$ref: '#/components/schemas/ActionMatch'
description: The automation actions that match the incident are returned.
'403':
description: Automation feature is not enabled or Insufficient permissions.
'500':
description: Failed to retrieve the matching automation actions.
security:
- ApiKeyAuth:
- Default
summary: Get automation actions that match the incidents or issues.
tags:
- Action Catalog
x-ibm-ahub-byok: true
/api/automation/parameters/dynamic:
put:
operationId: resolve
requestBody:
content:
application/json:
example:
eventId: 7UPTIakhR3uVaMnSQuG3TA
timestamp: 1710168530000
parameters:
- name: Application name
tagName: application.name
schema:
$ref: '#/components/schemas/GetDynamicParameterValues'
required: true
responses:
'200':
content:
application/json:
example:
eventId: 7UPTIakhR3uVaMnSQuG3TA
timestamp: 1710168530000
parameters:
- name: Application name
tagName: application.name
resolvedValue: '["Demo Application"]'
schema:
$ref: '#/components/schemas/GetDynamicParameterValues'
description: OK
'500':
description: Internal server error
security:
- ApiKeyAuth:
- canRunAutomationActions
summary: Resolve dynamic parameter values
tags:
- Action Catalog
x-ibm-ahub-byok: true
/api/automation/parameters/dynamic/catalog:
get:
operationId: getDynamicParametersTagCatalog
responses:
'200':
content:
application/json:
example:
tagTree:
- label: Application
description: null
icon: null
children:
- label: Name
icon: lib_application
tagName: application.name
queryable: true
type: TAG
type: LEVEL
queryable: false
tags:
- name: application.name
label: Name
type: STRING_SET
description: null
canApplyToSource: true
canApplyToDestination: true
idTag: false
schema:
$ref: '#/components/schemas/TagCatalog'
description: OK
'500':
description: Internal server error
security:
- ApiKeyAuth:
- Default
summary: Get tag catalog for dynamic parameters
tags:
- Action Catalog
x-ibm-ahub-byok: true
/api/automation/policies:
get:
description: 'Returns all the automation policies filtered by the values in optional query parameters. When using personal access tokens, the user must have at least `Viewer` access for Automation and the automation policies returned are also filtered based on the access set in `Limited access` permission settings.'
operationId: getPolicies
parameters:
- description: 'Filter policies by the event or alert type that can trigger a policy. This is an optional parameter. Valid values are customEvent, builtinEvent, applicationSmartAlert, globalApplicationSmartAlert, websiteSmartAlert, infraSmartAlert, mobileAppSmartAlert, syntheticsSmartAlert, logSmartAlert, sloSmartAlert'
in: query
name: triggerType
schema:
type: string
- description: Trigger identifier. This is an optional parameter.
in: query
name: triggerId
schema:
type: string
- description: Filter policies by policy execution type. This is an optional parameter. Valid values are automatic or manual
in: query
name: executionType
schema:
type: string
- description: Filter policies by action ID. This is an optional parameter.
in: query
name: actionId
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: a14700b0-401b-47eb-a751-deda0035fde3
name: Policy for test
description: Policy for test
trigger:
type: customEvent
id: C3Ha8PffQHfJ0Hk6
name: Test Event
typeConfigurations:
- name: manual
runnable:
type: action
id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
runConfiguration:
actions:
- action:
id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
name: Hello World
description: Simple script action for testing
type: SCRIPT
fields:
- name: subtype
description: script subtype
encoding: base64
value: YmFzaA==
secured: false
- name: script_ssh
description: script content
encoding: base64
value: ZWNobyBoZWxsbyB3b3JsZA==
secured: false
- name: timeout
description: timeout of the action execution in seconds
encoding: ascii
value: ''
secured: false
inputParameters: []
tags:
- Test
- idempotent
createdAt: 1694442511.129923
modifiedAt: 1703191040.321448
schema:
type: array
items:
$ref: '#/components/schemas/Policy'
description: Automation policies list filtered by the values in query parameters.
'403':
description: Insufficient permissions.
'500':
description: Failed to retrieve the automation policies.
security:
- ApiKeyAuth:
- Default
summary: Get all automation policies.
tags:
- Policies
x-ibm-ahub-byok: true
post:
description: Creates a new automation policy. Policy creation requires `Configuration of automation policies` permission.
operationId: addPolicy
requestBody:
content:
application/json:
example:
name: builtin-action-custom-event
trigger:
name: test event
type: customEvent
id: 2X5r-Un18MIE59rE
typeConfigurations:
- name: manual
runnable:
type: action
id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145
runConfiguration:
actions:
- action:
id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145
schema:
$ref: '#/components/schemas/Policy'
required: true
responses:
'201':
content:
application/json:
example:
id: a14700b0-401b-47eb-a751-deda0035fde3
name: Policy for test
description: Policy for test
trigger:
type: customEvent
id: C3Ha8PffQHfJ0Hk6
name: Test Event
typeConfigurations:
- name: manual
runnable:
type: action
id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
runConfiguration:
actions:
- action:
id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
name: Hello World
description: Simple script action for testing
type: SCRIPT
fields:
- name: subtype
description: script subtype
encoding: base64
value: YmFzaA==
secured: false
- name: script_ssh
description: script content
encoding: base64
value: ZWNobyBoZWxsbyB3b3JsZA==
secured: false
- name: timeout
description: timeout of the action execution in seconds
encoding: ascii
value: ''
secured: false
inputParameters: []
tags:
- Test
createdAt: 1694442511.129923
modifiedAt: 1703191040.321448
schema:
$ref: '#/components/schemas/Policy'
description: New policy created.
'400':
description: Bad request.
'403':
description: Insufficient permissions.
'412':
description: Invalid input value.
'500':
description: Internal Server Error.
security:
- ApiKeyAuth:
- canConfigureAutomationPolicies
summary: Create an automation policy.
tags:
- Policies
x-ibm-ahub-byok: true
/api/automation/policies/bulk:
post:
description: Creates a list of automation policies. Policy creation requires `Configuration of automation policies` permission.
operationId: addPolicies
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Policy'
required: true
responses:
'201':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Policy'
description: Created.
'400':
description: Bad request.
'403':
description: Insufficient permissions.
'412':
description: Invalid input value.
'500':
description: Internal Server Error.
security:
- ApiKeyAuth:
- canConfigureAutomationPolicies
summary: Create automation policies.
tags:
- Policies
x-ibm-ahub-byok: true
'/api/automation/policies/{id}':
delete:
description: Deletes an automation policy by identifier. Policy deletion requires `Configuration of automation policies` permission. When using personal tokens the automation policies deleted are based on the access set in `Limited access` permission settings.
operationId: deletePolicy
parameters:
- description: Automation policy ID to delete
example: a14700b0-401b-47eb-a751-deda0035fde3
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Automation policy successfully deleted
'403':
description: Insufficient permissions.
'412':
description: Automation policy does not exist
security:
- ApiKeyAuth:
- canConfigureAutomationPolicies
summary: Deletes an automation policy by identifier.
tags:
- Policies
x-ibm-ahub-byok: true
get:
description: 'Returns the automation policy filtered by the ID in request parameter. When using personal access tokens, the user must have at least `Viewer` access for Automation and the automation policies returned are also filtered based on the access set in `Limited access` permission settings.'
operationId: getPolicyByID
parameters:
- description: Automation policy ID
example: a14700b0-401b-47eb-a751-deda0035fde3
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: a14700b0-401b-47eb-a751-deda0035fde3
name: Policy for test
description: Policy for test
trigger:
type: customEvent
id: C3Ha8PffQHfJ0Hk6
name: Test Event
typeConfigurations:
- name: manual
runnable:
type: action
id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
runConfiguration:
actions:
- action:
id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
name: Hello World
description: Simple script action for testing
type: SCRIPT
fields:
- name: subtype
description: script subtype
encoding: base64
value: YmFzaA==
secured: false
- name: script_ssh
description: script content
encoding: base64
value: ZWNobyBoZWxsbyB3b3JsZA==
secured: false
- name: timeout
description: timeout of the action execution in seconds
encoding: ascii
value: ''
secured: false
inputParameters: []
tags:
- Test
createdAt: 1694442511.129923
modifiedAt: 1703191040.321448
schema:
$ref: '#/components/schemas/Policy'
description: Automation policy filtered by the ID in request parameter.
'403':
description: Insufficient permissions.
'404':
description: Automation policy not found.
security:
- ApiKeyAuth:
- Default
summary: Get an automation policy by ID.
tags:
- Policies
x-ibm-ahub-byok: true
put:
description: Updates an automation policy by identifier. Policy updates requires `Configuration of automation policies` permission. When using personal tokens the automation policies updated are based on the access set in `Limited access` permission settings.
operationId: updatePolicy
parameters:
- in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
name: builtin-action-custom-event
trigger:
name: test event
type: customEvent
id: 2X5r-Un18MIE59rE
typeConfigurations:
- name: manual
runnable:
type: action
id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145
runConfiguration:
actions:
- action:
id: c5ba4453-0bc2-3c3e-bdbe-b3ce68239145
schema:
$ref: '#/components/schemas/Policy'
required: true
responses:
'200':
content:
application/json:
example:
id: a14700b0-401b-47eb-a751-deda0035fde3
name: Policy for test
description: Policy for test
trigger:
type: customEvent
id: C3Ha8PffQHfJ0Hk6
name: Test Event
typeConfigurations:
- name: manual
runnable:
type: action
id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
runConfiguration:
actions:
- action:
id: d473c1b0-0740-4d08-95fe-31e5d0a9faff
name: Hello World
description: Simple script action for testing
type: SCRIPT
fields:
- name: subtype
description: script subtype
encoding: base64
value: YmFzaA==
secured: false
- name: script_ssh
description: script content
encoding: base64
value: ZWNobyBoZWxsbyB3b3JsZA==
secured: false
- name: timeout
description: timeout of the action execution in seconds
encoding: ascii
value: ''
secured: false
inputParameters: []
tags:
- Test
createdAt: 1694442511.129923
modifiedAt: 1703191040.321448
schema:
$ref: '#/components/schemas/Policy'
description: Automation policy successfully updated.
'403':
description: Insufficient permissions.
'412':
description: Invalid input value.
'500':
description: Server Error.
security:
- ApiKeyAuth:
- canConfigureAutomationPolicies
summary: Updates an automation policy by identifier.
tags:
- Policies
x-ibm-ahub-byok: true
/api/business-monitoring/activities:
post:
operationId: getActivities
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetActivities'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CursorPaginatedBusinessActivityItem'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get Business Activities
tags:
- Business Monitoring
x-ibm-ahub-byok: true
/api/business-monitoring/activities/csv:
post:
operationId: getActivitiesCsv
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetActivities'
responses:
'200':
content:
text/csv:
schema:
$ref: '#/components/schemas/BusinessActivity'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Download Business Activities
tags:
- Business Monitoring
x-ibm-ahub-byok: true
/api/business-monitoring/business-perspectives:
get:
operationId: getBusinessPerspectives
responses:
'200':
content:
application/json:
example:
- id: gBwNFIbjS6Ozwt0a12regg
label: biz-perspective
name: biz-perspective
description: This is an example business perspective
rbacTags:
- id: 0xHKaxfaS161Al6Qc23g4w
displayName: team 1
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: OR
elements:
- type: TAG_FILTER
name: service.name
stringValue: my-service-1
numberValue: null
booleanValue: null
key: null
value: my-service-1
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: service.name
stringValue: my-service-2
numberValue: null
booleanValue: null
key: null
value: my-service-2
operator: EQUALS
entity: DESTINATION
schema:
$ref: '#/components/schemas/BusinessPerspectiveConfig'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get all business perspectives
tags:
- Business Monitoring
x-ibm-ahub-byok: true
post:
operationId: createBusinessPerspective
requestBody:
content:
application/json:
example:
label: biz-perspective
name: biz-perspective
description: This is an example business perspective
rbacTags:
- id: 0xHKaxfaS161Al6Qc23g4w
displayName: team 1
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: OR
elements:
- type: TAG_FILTER
name: service.name
stringValue: my-service-1
numberValue: null
booleanValue: null
key: null
value: my-service-1
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: service.name
stringValue: my-service-2
numberValue: null
booleanValue: null
key: null
value: my-service-2
operator: EQUALS
entity: DESTINATION
schema:
$ref: '#/components/schemas/NewBusinessPerspectiveConfig'
required: true
responses:
'200':
content:
application/json:
example:
id: gBwNFIbjS6Ozwt0a12regg
label: biz-perspective
name: biz-perspective
description: This is an example business perspective
rbacTags:
- id: 0xHKaxfaS161Al6Qc23g4w
displayName: team 1
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: OR
elements:
- type: TAG_FILTER
name: service.name
stringValue: my-service-1
numberValue: null
booleanValue: null
key: null
value: my-service-1
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: service.name
stringValue: my-service-2
numberValue: null
booleanValue: null
key: null
value: my-service-2
operator: EQUALS
entity: DESTINATION
schema:
$ref: '#/components/schemas/BusinessPerspectiveConfig'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Create business perspective
tags:
- Business Monitoring
x-ibm-ahub-byok: true
'/api/business-monitoring/business-perspectives/{id}':
delete:
operationId: deleteBusinessPerspective
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- Default
summary: Delete business perspective
tags:
- Business Monitoring
x-ibm-ahub-byok: true
get:
operationId: getBusinessPerspective
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: gBwNFIbjS6Ozwt0a12regg
label: biz-perspective
name: biz-perspective
description: This is an example business perspective
rbacTags:
- id: 0xHKaxfaS161Al6Qc23g4w
displayName: team 1
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: OR
elements:
- type: TAG_FILTER
name: service.name
stringValue: my-service-1
numberValue: null
booleanValue: null
key: null
value: my-service-1
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: service.name
stringValue: my-service-2
numberValue: null
booleanValue: null
key: null
value: my-service-2
operator: EQUALS
entity: DESTINATION
schema:
$ref: '#/components/schemas/BusinessPerspectiveConfig'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get business perspective
tags:
- Business Monitoring
x-ibm-ahub-byok: true
put:
operationId: updateBusinessPerspective
parameters:
- in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
label: biz-perspective
name: biz-perspective
rbacTags:
- id: 0xHKaxfaS161Al6Qc23g4w
displayName: team 1
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: OR
elements:
- type: TAG_FILTER
name: service.name
stringValue: my-service-1
numberValue: null
booleanValue: null
key: null
value: my-service-1
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: service.name
stringValue: my-service-2
numberValue: null
booleanValue: null
key: null
value: my-service-2
operator: EQUALS
entity: DESTINATION
schema:
$ref: '#/components/schemas/UpdatedBusinessPerspectiveConfig'
required: true
responses:
'200':
content:
application/json:
example:
id: gBwNFIbjS6Ozwt0a12regg
label: biz-perspective
name: biz-perspective
description: This is an example business perspective
rbacTags:
- id: 0xHKaxfaS161Al6Qc23g4w
displayName: team 1
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: AND
elements:
- type: EXPRESSION
logicalOperator: OR
elements:
- type: TAG_FILTER
name: service.name
stringValue: my-service-1
numberValue: null
booleanValue: null
key: null
value: my-service-1
operator: EQUALS
entity: DESTINATION
- type: TAG_FILTER
name: service.name
stringValue: my-service-2
numberValue: null
booleanValue: null
key: null
value: my-service-2
operator: EQUALS
entity: DESTINATION
schema:
$ref: '#/components/schemas/BusinessPerspectiveConfig'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Update business perspective
tags:
- Business Monitoring
x-ibm-ahub-byok: true
/api/business-monitoring/catalog:
get:
operationId: getBusinessTagCatalog
parameters:
- in: query
name: from
schema:
type: integer
format: int64
- in: query
name: useCase
schema:
type: string
enum:
- GROUPING
- FILTERING
- SERVICE_MAPPING
- SMART_ALERTS
- SMART_ALERTS_LOGS
- SMART_ALERTS_ADAPTIVE_BASELINE
- SMART_ALERTS_CUSTOM_PAYLOAD
- SLI_MANAGEMENT
- APPLICATION_CONFIG
- APPLICATION_CONFIG_BLUEPRINT
- MAINTENANCE_WINDOWS
- BIZOPS_CUSTOM_DASHBOARDS_FILTERING
responses:
'200':
content:
application/json:
example:
tagTree:
- label: Region or Environment
description: null
icon: null
children:
- label: Zone
description: null
icon: null
children:
- label: Agent Zone
tagName: agent.zone
type: TAG
- label: Ec2 Zone
tagName: aws.ec2.zone
type: TAG
- label: Azure Zone
tagName: azure.zone
type: TAG
type: LEVEL
queryable: false
- label: Cloud
description: null
icon: null
children:
- label: Aws Arn
tagName: aws.arn
type: TAG
- label: Ec2 Ipv4
tagName: aws.ec2.ipv4
type: TAG
- label: Ec2 PublicName
tagName: aws.ec2.publicName
type: TAG
- label: Ec2 Tag
tagName: aws.ec2.tag
type: TAG
- label: Ec2 Zone
tagName: aws.ec2.zone
type: TAG
- label: Ecs Cluster Name
tagName: aws.ecs.cluster.name
type: TAG
- label: Azure Zone
tagName: azure.zone
type: TAG
- label: Gce Tag
tagName: gce.tag
type: TAG
- label: Gce Zone
tagName: gce.zone
type: TAG
- label: Cloud Provider
tagName: cloud.provider
type: TAG
type: LEVEL
queryable: false
- label: Host
description: null
icon: null
children:
- label: Http Host
tagName: call.http.host
type: TAG
- label: Host Fqdn
tagName: host.fqdn
type: TAG
- label: Host Ip
tagName: host.ip
type: TAG
- label: Host Name
tagName: host.name
type: TAG
- label: Host Zone
tagName: host.zone
type: TAG
- label: Jboss Node Name
tagName: jboss.node.name
type: TAG
- label: Kubernetes Cluster Name
tagName: kubernetes.cluster.name
type: TAG
- label: Kubernetes Node Name
tagName: kubernetes.node.name
type: TAG
type: LEVEL
queryable: false
type: LEVEL
queryable: false
- label: custom
description: null
icon: null
children:
- label: HTTP
description: null
icon: null
children:
- label: Http Header
tagName: call.http.header
type: TAG
- label: Http Params
tagName: call.http.params
type: TAG
- label: Http PathTemplate
tagName: call.http.pathTemplate
type: TAG
type: LEVEL
queryable: false
- label: Miscellaneous
description: null
icon: null
children:
- label: Agent Tag
tagName: agent.tag
type: TAG
- label: Ec2 Tag
tagName: aws.ec2.tag
type: TAG
- label: Call Tag
tagName: call.tag
type: TAG
type: LEVEL
queryable: false
- label: Platform
description: null
icon: null
children:
- label: Docker Label
tagName: docker.label
type: TAG
- label: Kubernetes Label
tagName: kubernetes.label
type: TAG
- label: Kubernetes Deployment Label
tagName: kubernetes.deployment.label
type: TAG
- label: Kubernetes Pod Label
tagName: kubernetes.pod.label
type: TAG
- label: Openshift Deploymentconfig Label
tagName: openshift.deploymentconfig.label
type: TAG
type: LEVEL
queryable: false
type: LEVEL
queryable: false
tags: []
schema:
$ref: '#/components/schemas/TagCatalog'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get business tag catalog
tags:
- Business Monitoring
x-ibm-ahub-byok: true
/api/custom-dashboard:
get:
description: |-
Get all accessible custom dashboards details.
For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards.
operationId: getCustomDashboards
parameters:
- description: query
example: BeeInstana
in: query
name: query
schema:
type: string
- description: pageSize
example: 2
in: query
name: pageSize
schema:
type: integer
format: int32
- description: page
example: 1
in: query
name: page
schema:
type: integer
format: int32
- description: withTotalHits
example: false
in: query
name: withTotalHits
schema:
type: boolean
responses:
'200':
content:
application/json:
example:
- id: gBtvG96xRpScauwsclG-KA
title: BeeInstana - aggregator
annotations:
- SHARED
- id: UtaUyPjGSTOAmPFICSbwqw
title: BeeInstana - alerting
annotations:
- SHARED
schema:
type: array
items:
$ref: '#/components/schemas/CustomDashboardPreview'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get accessible custom dashboards
tags:
- Custom Dashboards
x-ibm-ahub-byok: true
post:
description: |-
For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards.
operationId: addCustomDashboard
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDashboard'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDashboard'
description: OK
'403':
description: When attempting to share dashboards without the canCreatePublicCustomDashboards permission.
'422':
description: When the custom dashboard payload is invalid.
security:
- ApiKeyAuth:
- Default
summary: Add custom dashboard
tags:
- Custom Dashboards
x-ibm-ahub-byok: true
/api/custom-dashboard/shareable-api-tokens:
get:
description: |-
Get all API tokens that have access to shareable custom dashboards.
For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards.
operationId: getShareableApiTokens
responses:
'200':
content:
application/json:
example:
- id: foJfJVpyS5eAQAhfxSRctw
name: New API Token
- id: O_OKWG48S2WemaL_e3j_vQ
name: New API Token
- id: ATBzggrzTE-aRpUMBLmG9g
name: New API Token
schema:
type: array
items:
$ref: '#/components/schemas/DashboardApiToken'
description: OK
security:
- ApiKeyAuth:
- Default
- ApiKeyAuth:
- CreatePublicCustomDashboards
summary: Get all API tokens.
tags:
- Custom Dashboards
x-ibm-ahub-byok: true
/api/custom-dashboard/shareable-users:
get:
description: |-
Get all users (without invitations) that have access to shareable custom dashboards.
For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards.
operationId: getShareableUsers
responses:
'200':
content:
application/json:
example:
- id: 63721be55108940001ead6fa
email: JohnMcClane@instana.com
fullName: John McClane
- id: 6360a5ad034a430001c500d0
email: HansGruber@instana.com
fullName: Hans Gruber
schema:
type: array
items:
$ref: '#/components/schemas/UserBasicResult'
description: OK
security:
- ApiKeyAuth:
- Default
- ApiKeyAuth:
- CreatePublicCustomDashboards
summary: Get all users (without invitations).
tags:
- Custom Dashboards
x-ibm-ahub-byok: true
'/api/custom-dashboard/{customDashboardId}':
delete:
description: |-
For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards.
operationId: deleteCustomDashboard
parameters:
- in: path
name: customDashboardId
required: true
schema:
type: string
responses:
'204':
description: Custom dashboard successfully removed
security:
- ApiKeyAuth:
- Default
summary: Remove custom dashboard
tags:
- Custom Dashboards
x-ibm-ahub-byok: true
get:
description: |-
Get all Custom Dashboard Info for specified customDashboardId.
For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards.
operationId: getCustomDashboard
parameters:
- description: customDashboardId
example: alHaYV5aSkKku_wcg53teQ
in: path
name: customDashboardId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: |
{
"id": "alHaYV5aSkKku_wcg53teQ",
"title": "{string}",
"accessRules": [
{
"accessType": "READ_WRITE",
"relationType": "USER",
"relatedId": "5ee8a3e8cd70020001ecb007"
},
{
"accessType": "READ",
"relationType": "GLOBAL",
"relatedId": null
}
],
"widgets": [
{
"id": "dIxxq0LCdqZomve2",
"title": "SUM of bytes received for a particular container",
"width": 2,
"height": 4,
"x": 0,
"y": 0,
"type": "bigNumber",
"config": {
"formatter": "bytes.detailed",
"comparisonDecreaseColor": "greenish",
"metricConfiguration": {
"metric": "network.rx.bytes",
"timeShift": 0,
"tagFilterExpression": {
"name": "docker.containerId",
"type": "TAG_FILTER",
"value": "faaa7f1732d16faa7fc27a0cb49fdf5c07716f3d3be1315e20f24d099657bbe0",
"entity": "NOT_APPLICABLE",
"operator": "EQUALS"
},
"aggregation": "SUM",
"source": "INFRASTRUCTURE_METRICS",
"crossSeriesAggregation": "SUM",
"type": "docker"
},
"comparisonIncreaseColor": "redish"
}
}
],
"writable": true,
"ownerId": {string}
}
schema:
$ref: '#/components/schemas/CustomDashboardWithUserSpecificInformation'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get custom dashboard
tags:
- Custom Dashboards
x-ibm-ahub-byok: true
put:
description: |-
For more information on custom dashboards please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#custom-dashboards.
operationId: updateCustomDashboard
parameters:
- in: path
name: customDashboardId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDashboard'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDashboard'
description: OK
'403':
description: When attempting to share dashboards without the canCreatePublicCustomDashboards permission.
'422':
description: When the custom dashboard payload is invalid.
security:
- ApiKeyAuth:
- Default
summary: Update custom dashboard
tags:
- Custom Dashboards
x-ibm-ahub-byok: true
/api/custom-entitytypes:
get:
description: This end point lists custom Entity Type Definition
operationId: listCustomEntities
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEntityWithMetadata'
description: OK
security:
- ApiKeyAuth:
- Default
summary: List custom Entity Type Definition
tags:
- Custom Entities
x-ibm-ahub-byok: true
post:
description: This end point creates a custom entity type
operationId: createCustomEntities
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEntityModel'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEntityWithMetadata'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Create a Custom Entity type
tags:
- Custom Entities
x-ibm-ahub-byok: true
'/api/custom-entitytypes/{id}':
delete:
description: This end point deletes a custom Entity type definition
operationId: deleteCustomEntity
parameters:
- in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEntityModel'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEntityWithMetadata'
description: Entity Deleted
security:
- ApiKeyAuth:
- Default
summary: Delete a Custom Entity Type
tags:
- Custom Entities
x-ibm-ahub-byok: true
get:
description: This endpoint gets custom Entity Type by ID
operationId: getCustomEntity
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEntityWithMetadata'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get custom Entity Types
tags:
- Custom Entities
x-ibm-ahub-byok: true
put:
description: This end points updates the definition of a custom entity type
operationId: updateCustomEntity
parameters:
- in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEntityModel'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEntityWithMetadata'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Update a Custom Entity Type
tags:
- Custom Entities
x-ibm-ahub-byok: true
'/api/eum/impact/report/{eventId}':
get:
description: Gets a report of users impacted by an event which was created from a smart alert violation
operationId: getImpactedUsersReport
parameters:
- in: path
name: eventId
required: true
schema:
type: string
responses:
'200':
content:
text/csv: {}
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get impacted users report
tags:
- End User Monitoring
x-ibm-ahub-byok: true
/api/events:
get:
description: 'Get all Events within a timeframe. The timeframe is defined as `[from, to]` or `[to - windowSize, to]`. '
operationId: getEvents
parameters:
- description: A Unix timestamp representing the end of the requested timeframe. Defaults to the current system time
example: 1704096000000
in: query
name: to
schema:
type: integer
format: int64
- description: 'The size of the requested timeframe, in milliseconds, relative to the ''to'' parameter. Defaults to 10 minutes (600000 milliseconds) if neither ''windowSize'' nor ''from'' are provided. Resulting timeframe range = [to - windowSize, to]'
example: 600000
in: query
name: windowSize
schema:
type: integer
format: int64
- description: 'A Unix timestamp representing the start of the requested timeframe. Can be used as an alternative to ''windowSize'' to define the timeframe. If both ''from'' and ''windowSize'' are provided, ''from'' takes precedence. Resulting timeframe range = [from, to]'
example: 1672560000000
in: query
name: from
schema:
type: integer
format: int64
- description: Flag to filter the results to only show events with state changes within the timeframe.
example: true
in: query
name: filterEventUpdates
schema:
type: boolean
- description: Flag to filter the results to exclude events that have been triggered before the timeframe. This also filters out events with state changes within the timeframe if the events' start times begin before the timeframe.
example: true
in: query
name: excludeTriggeredBefore
schema:
type: boolean
- deprecated: true
description: Flag to filter the results to include Agent Monitoring Issues.
example: true
in: query
name: includeAgentMonitoringIssues
schema:
type: boolean
- deprecated: true
description: Flag to filter the results to include Kubernetes Info Events.
example: true
in: query
name: includeKubernetesInfoEvents
schema:
type: boolean
- description: 'A string representing an event type - an INCIDENT, ISSUE, or CHANGE. This query can be repeated to use multiple filters.'
example: INCIDENT
in: query
name: eventTypeFilters
schema:
type: array
items:
type: string
enum:
- INCIDENT
- ISSUE
- CHANGE
uniqueItems: true
responses:
'200':
content:
application/json:
example:
- eventId: gM73SycATrOFMcL5qspByQ
start: 1706774419000
end: 1706783931000
type: incident
state: open
problem: New Event-test-01
detail: test
severity: 5
entityName: .NET App
entityLabel: powershell.exe
metrics:
- metricName: threads.lck_crs
snapshotId: zqEuPom1v7YK61jRU8cEpRhCI1w
entityId:
steadyId: '55428'
pluginId: com.instana.forge.infrastructure.runtime.clr.ClrRuntimePlatform
host: '00:15:5d:ff:fe:98:d1:f6'
entityType: INFRASTRUCTURE
fixSuggestion: test
snapshotId: zqEuPom1v7YK61jRU8cEpRhCI1w
recentEvents:
- eventId: ZzaptuusSOutGLGmqD-wzA
- eventId: oeqTbltKQw6pp1OJi_QH_Q
- eventId: Cnv-8y96SOW2CzZbn7SK7Q
- eventId: vidr6ZX9QmqhtdvBrYFR3Q
- eventId: NWfYJEUjSLSPJbxfCEW6kA
- eventId: iJ2Bm8Y5Qq-Fh-IAwAnRqQ
- eventId: kHiCKKByTdW0sMhhjxvgQg
- eventId: w-hl_-8NQXKEIemcNR5ouw
- eventId: Vn0weJOGROaFKwRtqNDaeg
- eventId: Z9yz38EOR3aR0rYlBN3oRQ
- eventId: h7-N1PT9Sim4dCbyM-sf3g
- eventId: nnWCZ2L2STi8lXFbPNUgUg
- eventId: j1NlsfUYTz69t3dqSMekPQ
probableCause: []
probableCauseMetadata: {}
schema:
type: array
items:
$ref: '#/components/schemas/EventResult'
description: OK
'400':
description: Bad request.
security:
- ApiKeyAuth:
- Default
summary: Get all Events
tags:
- Events
x-ibm-ahub-byok: true
post:
description: 'Gets a set of events by their IDs. '
operationId: getEventsByIds
requestBody:
content:
application/json:
example:
- VOMNl0OgRv2HXlsR0iUYGg
- h66yezD9Sfi5YNh_cmeG7Q
schema:
type: array
items:
type: string
required: true
responses:
'200':
content:
application/json:
example:
- eventId: VOMNl0OgRv2HXlsR0iUYGg
start: 1722027687446
end: 1722028317446
type: issue
state: open
problem: Calls are slower than usual
detail: Calls are slower or equal to 50 ms based on latency (90th).
severity: 5
entityName: Endpoint
entityLabel: POST /integration/slack/event
metrics:
- metricAggregation: P90
metricName: latency
entityType: ENDPOINT
fixSuggestion: Calls are slower or equal to 50 ms based on latency (90th).
snapshotId: A-fDmFeA5Mzl3yIs8hXs5Megwz8
endpointId: A-fDmFeA5Mzl3yIs8hXs5Megwz8
endpointServiceId: fc3b86a089d24ed3b7d50ac3a7639c682101d6b9
applicationId: qOlcrsSlS_eWLGnBjooqWA
- eventId: h66yezD9Sfi5YNh_cmeG7Q
start: 1721764921276
end: 1722028014839
type: issue
state: open
problem: _RP Static camunda Archive Invoice for k8s-demo
detail: Calls are slower or equal to the expectation based on latency (90th).
severity: 5
entityName: Endpoint
entityLabel: Archive Invoice
metrics:
- metricAggregation: P90
metricName: latency
entityType: ENDPOINT
fixSuggestion: Calls are slower or equal to the expectation based on latency (90th).
snapshotId: MN1thidNpDc15zM-NP4ilfJs87k
endpointId: MN1thidNpDc15zM-NP4ilfJs87k
endpointServiceId: 1f0ee2b46a33c2dbfedfec9c45ad81ff1c8e7e37
applicationId: acfRC1IqTVi41OMLAJU4Cw
schema:
type: array
items:
$ref: '#/components/schemas/EventResult'
description: OK
'206':
description: Some of the requested events do not exist.
'422':
description: Unprocessable entity.
security:
- ApiKeyAuth:
- Default
summary: Get Events by IDs
tags:
- Events
x-ibm-ahub-byok: true
/api/events/agent-monitoring-events:
get:
description: 'Gets all Agent Monitoring Events within a timeframe. The timeframe is defined as `[from, to]` or `[to - windowSize, to]`. '
operationId: agentMonitoringEvents
parameters:
- description: A Unix timestamp representing the end of the requested timeframe. Defaults to the current system time
example: 1704096000000
in: query
name: to
schema:
type: integer
format: int64
- description: 'The size of the requested timeframe, in milliseconds, relative to the ''to'' parameter. Defaults to 10 minutes (600000 milliseconds) if neither ''windowSize'' nor ''from'' are provided. Resulting timeframe range = [to - windowSize, to]'
example: 600000
in: query
name: windowSize
schema:
type: integer
format: int64
- description: 'A Unix timestamp representing the start of the requested timeframe. Can be used as an alternative to ''windowSize'' to define the timeframe. If both ''from'' and ''windowSize'' are provided, ''from'' takes precedence. Resulting timeframe range = [from, to]'
example: 1672560000000
in: query
name: from
schema:
type: integer
format: int64
- description: Flag to filter the results to only show events with state changes within the timeframe.
example: true
in: query
name: filterEventUpdates
schema:
type: boolean
- description: Flag to filter the results to exclude events that have been triggered before the timeframe. This also filters out events with state changes within the timeframe if the events' start times begin before the timeframe.
example: true
in: query
name: excludeTriggeredBefore
schema:
type: boolean
responses:
'200':
content:
application/json:
example:
- eventId: n8DamRZKSs6Z2f0wiZ9tVQ
start: 1707472014671
end: 1707472674671
type: agent_monitoring_issue
state: open
problem: 'Monitoring issue: jvm_attach_generic'
detail: 'Our Agent observed a problem with monitoring the linked process. To resolve this issue, please check our docs (https://www.instana.com/docs/) for error code: jvm_attach_generic'
severity: 5
entityName: Process
entityLabel: java
entityType: INFRASTRUCTURE
fixSuggestion: 'Our Agent observed a problem with monitoring the linked process. To resolve this issue, please check our docs (https://www.instana.com/docs/) for error code: jvm_attach_generic'
snapshotId: 2fDFOytDpF4FYKrTdfwdlklDOPY
schema:
type: array
items:
$ref: '#/components/schemas/EventResult'
description: OK
'404':
description: The events do not exist in the timeframe.
security:
- ApiKeyAuth:
- Default
summary: Get Agent Monitoring Events
tags:
- Events
x-ibm-ahub-byok: true
/api/events/kubernetes-info-events:
get:
description: 'Gets all Kubernetes Info Events within a timeframe. The timeframe is defined as `[from, to]` or `[to - windowSize, to]`. '
operationId: kubernetesInfoEvents
parameters:
- description: A Unix timestamp representing the end of the requested timeframe. Defaults to the current system time
example: 1704096000000
in: query
name: to
schema:
type: integer
format: int64
- description: 'The size of the requested timeframe, in milliseconds, relative to the ''to'' parameter. Defaults to 10 minutes (600000 milliseconds) if neither ''windowSize'' nor ''from'' are provided. Resulting timeframe range = [to - windowSize, to]'
example: 600000
in: query
name: windowSize
schema:
type: integer
format: int64
- description: 'A Unix timestamp representing the start of the requested timeframe. Can be used as an alternative to ''windowSize'' to define the timeframe. If both ''from'' and ''windowSize'' are provided, ''from'' takes precedence. Resulting timeframe range = [from, to]'
example: 1672560000000
in: query
name: from
schema:
type: integer
format: int64
- description: Flag to filter the results to only show events with state changes within the timeframe.
example: true
in: query
name: filterEventUpdates
schema:
type: boolean
- description: Flag to filter the results to exclude events that have been triggered before the timeframe. This also filters out events with state changes within the timeframe if the events' start times begin before the timeframe.
example: true
in: query
name: excludeTriggeredBefore
schema:
type: boolean
responses:
'200':
content:
application/json:
example:
- eventId: nOYcBAncQIyZHdVNnBRmzQ
start: 1707472297000
end: 1707472297000
type: change
state: closed
problem: BackOff
detail: 'Back-off pulling image "gcr.io/kubernetes-helm/tiller:v2.14.1"'
severity: -2
entityName: Kubernetes Pod
entityLabel: kube-system/tiller-deploy-7bf78cdbf7-gnjg5 (pod)
entityType: INFRASTRUCTURE
fixSuggestion: 'Back-off pulling image "gcr.io/kubernetes-helm/tiller:v2.14.1"'
snapshotId: wTRNW3DaFeQhk7G3Cx5bKC5Psgk
schema:
type: array
items:
$ref: '#/components/schemas/EventResult'
description: OK
'404':
description: The events do not exist in the timeframe.
security:
- ApiKeyAuth:
- Default
summary: Get Kubernetes Info Events
tags:
- Events
x-ibm-ahub-byok: true
/api/events/settings/alertingChannels:
get:
description: Gets all the alerting channels. Requires the permission called CanConfigureIntegrations.
operationId: getAlertingChannels
parameters:
- description: List of IDs of alert channels defined in Instana. Can be left empty.
example: '[YbcFlaG8k5oIkxD0, OYcbU9gdP6OTBThJ, qbhfsL9vTtlaBOAt]'
in: query
name: ids
schema:
type: array
items:
type: string
uniqueItems: true
responses:
'200':
content:
application/json:
example:
- id: 18iiwkDxHD7_A4mIlouise
name: Email Alert Channel
customEmailSubjectPrefix: null
emails:
- youremail@email.com
kind: EMAIL
- id: 1pFirIMvrZk9NO2R
name: Stan Test Slack Channel
webhookUrl: 'https://hooks.slack.com/testwebhook'
iconUrl: ''
channel: team-stan-test-channel
emojiRendering: false
kind: SLACK
schema:
type: array
items:
$ref: '#/components/schemas/AbstractIntegration'
description: OK
security:
- ApiKeyAuth:
- CanConfigureIntegrations
summary: Get all Alerting Channels
tags:
- Event Settings
x-ibm-ahub-byok: true
post:
description: Creates an alerting channel. Requires the permission called CanConfigureIntegrations.
operationId: postAlertingChannel
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AbstractIntegration'
required: true
responses:
'200':
content:
application/json:
example:
id: 18iiwkDxHD7_A4mIlouise
name: Email Alert Channel
customEmailSubjectPrefix: null
emails:
- youremail@email.com
kind: EMAIL
schema:
$ref: '#/components/schemas/AbstractIntegration'
description: created the alert channel setting
'302':
description: 'Redirect to the integration service for continuing the configuration with the 3rd party system '
'400':
content:
application/json:
schema:
type: string
description: Failed creating the alert channel setting
security:
- ApiKeyAuth:
- CanConfigureIntegrations
summary: Create Alert Channel
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/alertingChannels/infos:
get:
description: Gets the overview information of all alerting channels. Requires the permission called CanConfigureIntegrations.
operationId: getAlertingChannelsOverview
parameters:
- description: List of IDs of alert channels defined in Instana. Can be left empty.
example: '[YbcFlaG8k5oIkxD0, OYcbU9gdP6OTBThJ, qbhfsL9vTtlaBOAt]'
in: query
name: ids
schema:
type: array
items:
type: string
uniqueItems: true
responses:
'200':
content:
application/json:
example:
- id: qbhfsL9vTtlaBOAt
kind: WEB_HOOK
name: alert-response-generic-webhook
properties: {}
- id: V_gYaoRFPe6S-T-l
kind: OPS_GENIE
name: OpsGenie QA
properties:
Alias: ''
Tags: k8s-test
schema:
type: array
items:
$ref: '#/components/schemas/IntegrationOverview'
description: OK
security:
- ApiKeyAuth:
- CanConfigureIntegrations
summary: Get Overview of Alerting Channels
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/alertingChannels/notify/{id}':
post:
description: 'Sends alert for a specific event to an alerting channel. Provided the event Id, an alert could be sent to the alerting channel. This endpoint requires `canInvokeAlertChannel` permission.'
operationId: sendTestAlertingById
parameters:
- description: ID of the alerting channel to be notified on.
example: YbcFlaG8k5oIkxD0
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ManualAlertingChannelConfiguration'
required: true
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureIntegrations
summary: Notify manually to Alerting Channel. Requires the permission called CanConfigureIntegrations.
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/alertingChannels/test:
put:
description: Sends a test alert to an alert channel. This is for testing if an potential alert channel is able to receive alerts from Instana. Requires the permission called CanConfigureIntegrations.
operationId: sendTestAlerting
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AbstractIntegration'
x-example: alertingChannelTestCall
required: true
responses:
'200':
content:
application/json:
examples:
Failure:
description: Failure
value:
status: failure
message: Alerting channel was unsuccessful.
Success:
description: Success
value:
status: success
message: 'Alerting Channel was successfully triggered, please check the channel!'
description: Test alerting channel response
security:
- ApiKeyAuth:
- CanConfigureIntegrations
summary: Test Alerting Channel
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/alertingChannels/{id}':
delete:
description: Deletes an alert channel. Requires the permission called CanConfigureIntegrations.
operationId: deleteAlertingChannel
parameters:
- description: ID of the Alerting Channel to delete.
example: YbcFlaG8k5oIkxD0
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
security:
- ApiKeyAuth:
- CanConfigureIntegrations
summary: Delete Alerting Channel
tags:
- Event Settings
x-ibm-ahub-byok: true
get:
description: Gets an alerting channel. Requires the permission called CanConfigureIntegrations.
operationId: getAlertingChannel
parameters:
- description: ID of the Alerting Channel to get.
example: YbcFlaG8k5oIkxD0
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: 18iiwkDxHD7_A4mIlouise
name: Email Alert Channel
customEmailSubjectPrefix: null
emails:
- youremail@email.com
kind: EMAIL
schema:
$ref: '#/components/schemas/AbstractIntegration'
description: OK
security:
- ApiKeyAuth:
- CanConfigureIntegrations
summary: Get Alerting Channel
tags:
- Event Settings
x-ibm-ahub-byok: true
put:
description: Updates an alerting channel. Requires the permission called CanConfigureIntegrations.
operationId: putAlertingChannel
parameters:
- description: ID of the Alerting Channel to update.
example: YbcFlaG8k5oIkxD0
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AbstractIntegration'
required: true
responses:
'200':
content:
application/json:
example:
id: 18iiwkDxHD7_A4mIlouise
name: Email Alert Channel
customEmailSubjectPrefix: null
emails:
- youremail@email.com
kind: EMAIL
schema:
$ref: '#/components/schemas/AbstractIntegration'
description: Updated the alert channel setting
'302':
description: 'Redirect to the integration service for continuing the configuration with the 3rd party system '
'400':
content:
application/json:
schema:
type: string
description: Failed updating the alert channel setting
security:
- ApiKeyAuth:
- CanConfigureIntegrations
summary: Update Alert Channel
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/alerts:
get:
description: Gets all Alert Configurations
operationId: getAlerts
responses:
'200':
content:
application/json:
example:
- id: 5GJXiK9aciVaBPnu
alertName: CMH Alert Test
muteUntil: 9007199254740991
integrationIds:
- GcqLyri-worP8sXX
eventFilteringConfiguration:
query: 'entity.host.fqdn:robot-shop-pink1.fyre.ibm.com'
ruleIds:
- roILHzyaMBRDZE3FxaeZ5T_wx4Q
eventTypes: []
applicationAlertConfigIds: []
validVersion: 1
customPayloadFields:
- type: staticString
key: cmhtest
value: cmhval
lastUpdated: 1702590551696
invalid: false
alertChannelNames:
- CMH Email test
applicationNames: []
- id: E8Z88ThbA7RDPgbz
alertName: SQL Server Write txns Alert
muteUntil: 0
integrationIds:
- Hrigl1epXxAc0Tym
eventFilteringConfiguration:
query: null
ruleIds:
- v1jc5yEjHRNbX8_i
eventTypes: []
applicationAlertConfigIds: []
validVersion: 1
customPayloadFields: []
lastUpdated: 1702590551748
invalid: false
alertChannelNames:
- Servicenow Webhook Sunny
applicationNames: []
- id: Z9eXY8LOfTuAf43e
alertName: IBM i All Alerts
muteUntil: 0
integrationIds: []
eventFilteringConfiguration:
query: 'entity.ibmi.os.hostname:ut31p37.rch.stglabs.ibm.com AND event.text:*'
ruleIds: []
eventTypes:
- warning
applicationAlertConfigIds: []
validVersion: 1
customPayloadFields: []
lastUpdated: 1704894496752
invalid: false
alertChannelNames: []
applicationNames: []
schema:
type: array
items:
$ref: '#/components/schemas/ValidatedAlertingConfiguration'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Get all Alert Configurations
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/alerts/infos:
get:
description: Gets all alert configurations that relate to the given alert channel.
operationId: getAlertingConfigurationInfos
parameters:
- description: ID of a specific alert channel configuration.
example: hu6ynJbwgB4X1rjk
in: query
name: integrationId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: Xt67tttZF4yzemPQ
label: Production Availability Alerts
query: 'entity.zone:prod'
eventTypes: []
selectedEvents: 2
enabled: true
type: Alert
entityId: null
invalid: false
- id: wNbFtdyvQgeA4k8JdBSsyA
label: Database Cluster Alerts
query: null
eventTypes: null
selectedEvents: null
enabled: false
type: ApplicationSmartAlert
entityId: mwVo3lG-TD-4ssDa3w0pGA
invalid: false
schema:
type: array
items:
$ref: '#/components/schemas/ValidatedAlertingChannelInputInfo'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: All alerting configuration info
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/alerts/{id}':
delete:
description: Delete a specific Alert Configuration by ID
operationId: deleteAlert
parameters:
- description: ID of a specific Alert Configuration to delete.
example: hu6ynJbwgB4X1rjkkw
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Delete Alert Configuration
tags:
- Event Settings
x-ibm-ahub-byok: true
get:
description: Get a specific Alert Configuration by ID.
operationId: getAlert
parameters:
- description: ID of a specific Alert Configuration to retrieve.
example: iSjG7UWK3Dy6bDUc
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: iSjG7UWK3Dy6bDUc
alertName: test-email-alert
muteUntil: 0
integrationIds:
- B1PdA6BUdA9JJRZG
eventFilteringConfiguration:
query: 'event.text:*BRUCE*'
ruleIds: []
eventTypes:
- warning
- incident
- critical
applicationAlertConfigIds: []
validVersion: 1
customPayloadFields: []
lastUpdated: 1718828552918
schema:
$ref: '#/components/schemas/AlertingConfigurationWithLastUpdated'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Get Alert Configuration
tags:
- Event Settings
x-ibm-ahub-byok: true
put:
description: Create or update a specific Alert configuration by ID
operationId: putAlert
parameters:
- description: ID of a specific Alert Configuration to create or update.
example: hu6ynJbwgB4X1rjk
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
id: hu6ynJbwgB4X1rjk
alertName: Alerts Test
muteUntil: 9007199254740991
integrationIds:
- ctCR9Q373YAY27H_
- wyAPFbP_xZCeEUn6
- M01h5MDfb7YVQPAz
- BH4nVcoPdSpJH_4U
- ldF14o6dCKmQFJxP
- IbQkmZ46_oUGV-L7
- wpWi9SYL7cJOu_UZ
- ds1Lpvix2WVoWTKg
eventFilteringConfiguration:
query: null
ruleIds: []
eventTypes:
- incident
- critical
applicationAlertConfigIds: []
validVersion: 1
customPayloadFields:
- type: staticString
key: assignment_group
value: ITSM App-Dev
- type: staticString
key: category
value: Software
- type: staticString
key: change_test
value: test kevin
- type: staticString
key: assigned_to
value: Antony Alldis
schema:
$ref: '#/components/schemas/AlertingConfiguration'
required: true
responses:
'200':
content:
application/json:
example:
id: hu6ynJbwgB4X1rjk
alertName: Alerts Test
muteUntil: 0
integrationIds:
- ctCR9Q373YAY27H_
- wyAPFbP_xZCeEUn6
- M01h5MDfb7YVQPAz
- BH4nVcoPdSpJH_4U
- ldF14o6dCKmQFJxP
- IbQkmZ46_oUGV-L7
- wpWi9SYL7cJOu_UZ
- ds1Lpvix2WVoWTKg
eventFilteringConfiguration:
query: null
ruleIds: []
eventTypes:
- incident
- critical
applicationAlertConfigIds: []
validVersion: 1
customPayloadFields:
- type: staticString
key: assignment_group
value: ITSM App-Dev
- type: staticString
key: category
value: Software
- type: staticString
key: change_test
value: test kevin
- type: staticString
key: assigned_to
value: Antony Alldis
schema:
$ref: '#/components/schemas/AlertingConfigurationWithLastUpdated'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable request - missing/invalid data.
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Create or update Alert Configuration
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/application-alert-configs:
get:
description: |-
Gets all the Smart Alert Configurations pertaining to a specific application. Configurations are sorted by creation date in descending order.
For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration.
operationId: findAllActiveApplicationAlertConfigs
parameters:
- description: The ID of a specific Application.
example: IYS1XOEcTNiT1eOD8pxgXg
in: query
name: applicationId
required: true
schema:
type: string
- description: A list of Smart Alert Configuration IDs. This allows fetching of a specific set of Configurations. This query can be repeated to use multiple IDs.
example: IYS1XOEcTNiT1eOD8pxgXg
in: query
name: alertIds
schema:
type: array
items:
type: string
maxItems: 1000
minItems: 0
uniqueItems: true
responses:
'200':
content:
application/json:
example:
- name: Erroneous call rate is higher than normal
description: The erroneous call rate is higher or equal to 4%.
boundaryScope: ALL
applicationId: IYS1XOEcTNiT1eOD8pxgXg
applications:
IYS1XOEcTNiT1eOD8pxgXg:
applicationId: IYS1XOEcTNiT1eOD8pxgXg
inclusive: true
services: {}
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
includeInternal: false
includeSynthetic: false
rule:
alertType: errors
metricName: errors
aggregation: MEAN
threshold:
type: staticThreshold
operator: '>='
value: 0.04
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
id: A5VvSXR_SVG6z7YbnIHiHQ
created: 1707751873882
initialCreated: 1707751873882
readOnly: false
enabled: true
derivedFromGlobalAlert: false
schema:
type: array
items:
$ref: '#/components/schemas/ApplicationAlertConfigWithMetadata'
description: OK - Returns an empty list if no configurations match the criteria
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- Default
summary: Get all Smart Alert Configs
tags:
- Application Alert Configuration
x-ibm-ahub-byok: true
post:
description: |-
Creates a new Smart Alert Configuration.
For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration.
operationId: createApplicationAlertConfig
requestBody:
content:
application/json:
example:
name: Calls are slower than usual
description: Calls are slower or equal to the expectation based on latency (90th).
boundaryScope: INBOUND
applicationId: ZOi0te_ERE-mRm-9zsbwdg
applications:
ZOi0te_ERE-mRm-9zsbwdg:
applicationId: ZOi0te_ERE-mRm-9zsbwdg
inclusive: true
services: {}
severity: 5
triggering: false
tagFilterExpression:
type: TAG_FILTER
name: endpoint.name
stringValue: null
numberValue: null
booleanValue: null
key: null
value: null
operator: NOT_EMPTY
entity: DESTINATION
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 1
- 3
- - 600000
- 1
- 3
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
schema:
$ref: '#/components/schemas/ApplicationAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: Calls are slower than usual
description: Calls are slower or equal to the expectation based on latency (90th).
boundaryScope: INBOUND
applicationId: ZOi0te_ERE-mRm-9zsbwdg
applications:
ZOi0te_ERE-mRm-9zsbwdg:
applicationId: ZOi0te_ERE-mRm-9zsbwdg
inclusive: true
services: {}
severity: 5
triggering: false
tagFilterExpression:
type: TAG_FILTER
name: endpoint.name
stringValue: null
numberValue: null
booleanValue: null
key: null
value: null
operator: NOT_EMPTY
entity: DESTINATION
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 1
- 3
- - 600000
- 1
- 3
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
id: DKp0JArJRAiQIav9CoKSWQ
created: 1706617456952
initialCreated: 1706617456952
readOnly: false
enabled: true
derivedFromGlobalAlert: false
schema:
$ref: '#/components/schemas/ApplicationAlertConfigWithMetadata'
description: Smart Alert Configuration created.
'400':
description: Invalid Configuration.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable entity.
'428':
description: Baseline calculation failed due to insufficient data.
security:
- ApiKeyAuth:
- CanConfigureApplicationSmartAlerts
summary: Create Smart Alert Config
tags:
- Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/application-alert-configs/{id}':
delete:
description: |-
Deletes an Smart Alert Configuration.
For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration.
operationId: deleteApplicationAlertConfig
parameters:
- description: ID of a specific Smart Alert Configuration to delete.
example: DKp0JArJRAiQIav9CoKSWQ
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Smart Alert Configuration deleted.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureApplicationSmartAlerts
summary: Delete Smart Alert Config
tags:
- Application Alert Configuration
x-ibm-ahub-byok: true
get:
description: |-
Gets a specific Smart Alert Configuration. This may return a deleted Configuration.
For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration.
operationId: findApplicationAlertConfig
parameters:
- description: ID of a specific Smart Alert Configuration to retrieve.
example: DKp0JArJRAiQIav9CoKSWQ
in: path
name: id
required: true
schema:
type: string
- description: 'A Unix timestamp representing a specific time the Configuration was active. If no timestamp is provided, the latest active version will be retrieved. '
example: 1706617456952
in: query
name: validOn
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
name: Calls are slower than usual
description: Calls are slower or equal to the expectation based on latency (90th).
boundaryScope: INBOUND
applicationId: ZOi0te_ERE-mRm-9zsbwdg
applications:
ZOi0te_ERE-mRm-9zsbwdg:
applicationId: ZOi0te_ERE-mRm-9zsbwdg
inclusive: true
services: {}
severity: 5
triggering: false
tagFilterExpression:
type: TAG_FILTER
name: endpoint.name
stringValue: null
numberValue: null
booleanValue: null
key: null
value: null
operator: NOT_EMPTY
entity: DESTINATION
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 1
- 3
- - 600000
- 1
- 3
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
id: DKp0JArJRAiQIav9CoKSWQ
created: 1706617456952
initialCreated: 1706617456952
readOnly: false
enabled: true
derivedFromGlobalAlert: false
schema:
$ref: '#/components/schemas/ApplicationAlertConfigWithMetadata'
description: OK
'403':
description: Insufficient permissions.
'404':
description: The requested Configuration does not exist.
security:
- ApiKeyAuth:
- Default
summary: Get Smart Alert Config
tags:
- Application Alert Configuration
x-ibm-ahub-byok: true
post:
description: |-
Updates an existing Smart Alert Configuration.
For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration.
operationId: updateApplicationAlertConfig
parameters:
- description: ID of a specific Smart Alert Configuration to update.
example: DKp0JArJRAiQIav9CoKSWQ
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
name: Calls are slower than usual
description: Calls are slower or equal to the expectation based on latency (90th).
boundaryScope: INBOUND
applicationId: ZOi0te_ERE-mRm-9zsbwdg
applications:
ZOi0te_ERE-mRm-9zsbwdg:
applicationId: ZOi0te_ERE-mRm-9zsbwdg
inclusive: true
services: {}
severity: 5
triggering: false
tagFilterExpression:
type: TAG_FILTER
name: endpoint.name
stringValue: null
numberValue: null
booleanValue: null
key: null
value: null
operator: NOT_EMPTY
entity: DESTINATION
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 1
- 3
- - 600000
- 1
- 3
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
schema:
$ref: '#/components/schemas/ApplicationAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: Calls are slower than usual
description: Calls are slower or equal to the expectation based on latency (90th).
boundaryScope: INBOUND
applicationId: ZOi0te_ERE-mRm-9zsbwdg
applications:
ZOi0te_ERE-mRm-9zsbwdg:
applicationId: ZOi0te_ERE-mRm-9zsbwdg
inclusive: true
services: {}
severity: 5
triggering: false
tagFilterExpression:
type: TAG_FILTER
name: endpoint.name
stringValue: null
numberValue: null
booleanValue: null
key: null
value: null
operator: NOT_EMPTY
entity: DESTINATION
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 1
- 3
- - 600000
- 1
- 3
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
id: DKp0JArJRAiQIav9CoKSWQ
created: 1706617456952
initialCreated: 1706617456952
readOnly: false
enabled: true
derivedFromGlobalAlert: false
schema:
$ref: '#/components/schemas/ApplicationAlertConfigWithMetadata'
description: Smart Alert Configuration updated.
'204':
description: Smart Alert Configuration did not change.
'400':
description: Invalid Application ID provided.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable entity.
'428':
description: Baseline calculation failed due to insufficient data.
'500':
description: Internal error.
security:
- ApiKeyAuth:
- CanConfigureApplicationSmartAlerts
summary: Update Smart Alert Config
tags:
- Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/application-alert-configs/{id}/disable':
put:
description: |-
Disables an Smart Alert Configuration.
For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration.
operationId: disableApplicationAlertConfig
parameters:
- description: ID of a specific Smart Alert Configuration to disable.
example: DKp0JArJRAiQIav9CoKSWQ
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Smart Alert Configuration disabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureApplicationSmartAlerts
summary: Disable Smart Alert Config
tags:
- Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/application-alert-configs/{id}/enable':
put:
description: |-
Enables an Smart Alert Configuration.
For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration.
operationId: enableApplicationAlertConfig
parameters:
- description: ID of a specific Smart Alert Configuration to enable.
example: DKp0JArJRAiQIav9CoKSWQ
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Smart Alert Configuration enabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureApplicationSmartAlerts
summary: Enable Application Alert Config
tags:
- Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/application-alert-configs/{id}/restore/{created}':
put:
description: |-
Restores a deleted Smart Alert Configuration.
For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration.
operationId: restoreApplicationAlertConfig
parameters:
- description: ID of a specific Smart Alert Configuration to restore.
example: DKp0JArJRAiQIav9CoKSWQ
in: path
name: id
required: true
schema:
type: string
- description: Unix timestamp representing the creation time of a specific Smart Alert Configuration.
example: 1707726529124
in: path
name: created
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Smart Alert Configuration restored.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration provided.
security:
- ApiKeyAuth:
- CanConfigureApplicationSmartAlerts
summary: Restore Smart Alert Config
tags:
- Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/application-alert-configs/{id}/update-baseline':
post:
description: |-
Recalculates and updates the historic baseline (static seasonal threshold) of a Configuration. The `LastUpdated` field of the Configuration is changed to the current time.
For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration.
operationId: updateApplicationHistoricBaseline
parameters:
- description: ID of a specific Smart Alert Configuration to recalculate.
example: DKp0JArJRAiQIav9CoKSWQ
in: path
name: id
required: true
schema:
type: string
responses:
'200':
description: Smart Alert Configuration baseline successfully recalculated and updated.
'204':
description: Baseline recalculation completed with no changes needed.
'400':
description: Invalid configuration type or configuration is read-only.
'403':
description: Insufficient permissions to access this configuration.
'404':
description: Smart Alert Configuration not found.
'428':
description: Baseline calculation failed due to insufficient data.
security:
- ApiKeyAuth:
- CanConfigureApplicationSmartAlerts
summary: Recalculate Smart Alert Config Baseline
tags:
- Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/application-alert-configs/{id}/versions':
get:
description: |-
Gets all versions of an Smart Alert Configuration. This may return deleted Configurations. Configurations are sorted by creation date in descending order.
For more information on Application Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#application-alert-configuration.
operationId: findApplicationAlertConfigVersions
parameters:
- description: ID of a specific Smart Alert Configuration to retrieve.
example: DKp0JArJRAiQIav9CoKSWQ
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: DKp0JArJRAiQIav9CoKSWQ
created: 1706617456952
enabled: true
deleted: false
changeSummary:
changeType: CREATE
author:
id: 5ee8a3e8cd70020001ecb007
type: USER
fullName: Stan
schema:
type: array
items:
$ref: '#/components/schemas/ConfigVersion'
description: OK
'403':
description: Insufficient permissions.
'404':
description: The requested Configuration does not exist.
security:
- ApiKeyAuth:
- Default
summary: Get Smart Alert Config Versions
tags:
- Application Alert Configuration
x-ibm-ahub-byok: true
/api/events/settings/custom-payload-configurations:
delete:
description: Deletes a Global Custom Payload Configuration.
operationId: deleteCustomPayloadConfiguration
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureGlobalAlertPayload
summary: Delete Custom Payload Configuration
tags:
- Event Settings
x-ibm-ahub-byok: true
get:
description: Gets All Global Custom Payload Configurations.
operationId: getCustomPayloadConfigurations
parameters:
- in: query
name: context
schema:
type: string
default: ALL
description: The type of Smart Alert that the custom payload is associated with.
enum:
- ALL
- APPLICATION
- WEBSITE
- SYNTHETIC
- MOBILE_APP
- INFRA
- LOG
responses:
'200':
content:
application/json:
example:
- fields:
- type: dynamic
key: zone
value:
tagName: agent.zone
key: app
- type: staticString
key: global_custom_payload
value: 42+1
lastUpdated: 1723212859513
schema:
$ref: '#/components/schemas/CustomPayloadWithVersion'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureGlobalAlertPayload
summary: Get All Global Custom Payload Configurations
tags:
- Event Settings
x-ibm-ahub-byok: true
put:
description: Creates or Updates Global Custom Payload Configuration.
operationId: upsertCustomPayloadConfiguration
requestBody:
content:
application/json:
example:
fields:
- type: staticString
key: string
value: customValue
- type: dynamic
key: string
value:
tagName: agent.zone
key: string
schema:
$ref: '#/components/schemas/CustomPayloadConfiguration'
required: true
responses:
'200':
content:
application/json:
example:
- fields:
- type: staticString
key: string
value: customValue
- type: dynamic
key: string
value:
tagName: agent.zone
key: string
lastUpdated: 1723212859513
schema:
type: array
items:
$ref: '#/components/schemas/CustomPayloadWithLastUpdated'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'422':
description: 'Unable to process request, request data is invalid.'
security:
- ApiKeyAuth:
- CanConfigureGlobalAlertPayload
summary: Create/Update Global Custom Payload Configuration
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/custom-payload-configurations/catalog:
get:
description: 'Custom payload tags used to filter, extract and aggregate specific data like AP calls for alert notifications. The catalog defines available tags like application.name and their types, and other attributes.'
operationId: getCustomPayloadTagCatalog
responses:
'200':
content:
application/json:
example:
- tagTree:
- label: Agent
description: null
icon: null
children:
- label: Tag
icon: lib_views_tag
tagName: agent.tag
queryable: true
type: TAG
scoreBoost: null
type: LEVEL
queryable: false
tags:
- name: azure.appservice.name
label: App Service Name
type: STRING
description: null
canApplyToSource: true
canApplyToDestination: true
idTag: false
schema:
$ref: '#/components/schemas/TagCatalog'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureGlobalAlertPayload
summary: Get Tag Catalog for Custom Payload
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/custom-payload-configurations/v2:
put:
description: Creates or Updates Global Custom Payload Configuration.
operationId: upsertCustomPayloadConfigurationV2
requestBody:
content:
application/json:
example: |2
"fields":
[
{
"type": "staticString",
"key": "string",
"value": "customValue"
},
{
"type": "dynamic",
"key": "string",
"value": {
"tagName": "agent.zone",
"key": "string"
}
}
],
"version": 1
schema:
$ref: '#/components/schemas/CustomPayloadConfiguration'
required: true
responses:
'200':
content:
application/json:
example:
- fields:
- type: staticString
key: string
value: customValue
- type: dynamic
key: string
value:
tagName: agent.zone
key: string
lastUpdated: 1723212859513
version: 1
schema:
type: array
items:
$ref: '#/components/schemas/CustomPayloadWithVersion'
description: OK
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'409':
description: Version conflict.
'422':
description: 'Unable to process request, request data is invalid.'
security:
- ApiKeyAuth:
- CanConfigureGlobalAlertPayload
summary: Create/Update Global Custom Payload Configuration
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/event-specifications/built-in:
get:
description: Get all built-in event specifications
operationId: getBuiltInEventSpecifications
parameters:
- in: query
name: ids
schema:
type: array
items:
type: string
uniqueItems: true
responses:
'200':
content:
application/json:
example:
- id: 5J-4V_gLWm-pofGW8BEoFU7C_6s
shortPluginId: otelHost
name: CPU spends significant time waiting for input/output
description: Assesses whether the system is spending a significant amount of time waiting for input/output operations.
hyperParams:
- id: CsSGNuJ9MCsYvN5tXoWOPIWGiyM
name: Sliding Window
description: Sliding window
defaultValue: 60000
minValue: 60000
maxValue: 72000000
valueFormat: MILLIS
- id: dfLU7K_vx1Qd8FrR4M1XAmiSM0w
name: Maximum wait percentage
description: Specifies the maximum allowable CPU wait percentage. Metric values that exceed this threshold are deemed violations.
defaultValue: 0.25
minValue: 0
maxValue: 1
valueFormat: PERCENTAGE
- id: eq_Y3yLA37aralhMCV1AYuEVVoA
name: Allowed CPU Wait violations
description: Specifies the number of permitted CPU Wait violations within the given time window.
defaultValue: 9
minValue: 0
maxValue: 9223372036854776000
valueFormat: NUMBER
ruleInputs:
- inputKind: METRIC
inputName: cpu.wait
severity: 5
triggering: false
enabled: true
hidden: false
lastUpdated: 1729198411351
- id: kLC5kTFUUM4HiMWEkqlggo6dF-s
shortPluginId: ibmCloudEventStream
name: Event Stream has more than the recommended number of connected Kafka clients
description: Checks whether the number of connected Kafka clients exceeds the recommended maximum
hyperParams:
- id: qkxsXUDoELI6cHEoWSXQ4FR8-8M
name: Kafka Max Connectd Clients Percent Severe
description: Kafka max connected clients percent critical threshold
defaultValue: 0.95
minValue: 0
maxValue: 1
valueFormat: PERCENTAGE
- id: x00McJfR0Y2twIIE8Hf3oxoUEoE
name: Kafka Max Connectd Clients Percent Warning
description: Kafka max connected clients percent warning threshold
defaultValue: 0.9
minValue: 0
maxValue: 1
valueFormat: PERCENTAGE
ruleInputs:
- inputKind: METRIC
inputName: kafka_recommended_max_connected_clients_percent
severity: 5
triggering: false
enabled: true
hidden: false
lastUpdated: 1729198411681
schema:
type: array
items:
$ref: '#/components/schemas/BuiltInEventSpecificationWithLastUpdated'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: All built-in event specification
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/event-specifications/built-in/{eventSpecificationId}':
delete:
operationId: deleteBuiltInEventSpecification
parameters:
- in: path
name: eventSpecificationId
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Delete built-in event specification
tags:
- Event Settings
x-ibm-ahub-byok: true
get:
operationId: getBuiltInEventSpecification
parameters:
- in: path
name: eventSpecificationId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BuiltInEventSpecification'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Built-in event specifications
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/event-specifications/built-in/{eventSpecificationId}/disable':
post:
operationId: disableBuiltInEventSpecification
parameters:
- in: path
name: eventSpecificationId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BuiltInEventSpecificationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Disable built-in event specification
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/event-specifications/built-in/{eventSpecificationId}/enable':
post:
operationId: enableBuiltInEventSpecification
parameters:
- in: path
name: eventSpecificationId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BuiltInEventSpecificationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Enable built-in event specification
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/event-specifications/custom:
get:
description: ' This API helps in getting all the custom event specifications.'
operationId: getCustomEventSpecifications
responses:
'200':
content:
application/json:
example:
- id: Yojfl6Yn9SXaFhJG
name: DP_Domain_MemoryUsage
entityType: ibmDataPowerDomain
query: null
triggering: true
description: Average Memory Usage for the DP Domain >= 0%
expirationTime: 60000
enabled: true
rules:
- ruleType: threshold
metricName: currentMemUsage
metricPattern: null
rollup: 0
window: 600000
aggregation: avg
conditionOperator: '>='
conditionValue: 0
severity: 5
ruleLogicalOperator: AND
lastUpdated: 1670404707763
validVersion: 1
actions: null
migrated: false
applicationAlertConfigId: null
deleted: false
schema:
type: array
items:
$ref: '#/components/schemas/CustomEventSpecificationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: All custom event specifications
tags:
- Event Settings
x-ibm-ahub-byok: true
post:
operationId: postCustomEventSpecification
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEventSpecification'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEventSpecificationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Create new custom event specification
tags:
- Event Settings
x-ibm-ahub-byok: true
description: |
This endpoint creates a new Custom Event Specification.
## Mandatory Parameters:
- **name:** Name for the custom event
- **entityType:** Name of the available plugins for the selected source
- **rules.ruleType:** Type of the rule being set for the custom event
### Rule-type specific parameters
Depending on the chosen `ruleType`, there are further required parameters:
#### Threshold Rule using a dynamic built-in metric by pattern :
- **rules.conditionOperator:** Conditional operator for the aggregation for the provided time window
- **rules.metricPattern.prefix:** Prefix pattern for the metric
- **rules.metricPattern.operator:** Operator for matching the metric
```
curl --request POST 'https:///api/events/settings/event-specifications/custom' \
--header 'Authorization: apiToken ' \
--header 'Content-Type: application/json' \
--data-raw '{ "description":"Event for OpenAPI documentation", "enabled":true,"entityType":"host","expirationTime":"60000","name":"Event for OpenAPI documentation",
"query":,
"rules":[{"aggregation":"sum","conditionOperator":">", "conditionValue":0.1, "metricName":null, "metricPattern":{"prefix":"fs", "postfix":"free", "operator":"endsWith", "placeholder":"/xvda1"},
"rollup":null, "ruleType":"threshold", "severity":10, "window":30000}], "triggering":false
}'
```
The above example creates a custom event that matches disk devices that end with "/xvda1" for the metric "fs.{device}.free" for any host in scope.
#### Threshold Rule using fixed metric :
- **rules.conditionOperator:** Conditional operator for the aggregation for the provided time window
- **rules.metricName:** Metric name for the event
```
curl --request POST 'https:///api/events/settings/event-specifications/custom' \
--header 'Authorization: apiToken ' \
--header 'Content-Type: application/json' \
--data-raw '{ "description":"Event for OpenAPI documentation fixed Metric", "enabled":true,"entityType":"host","expirationTime":"60000",
"name":"Event for OpenAPI documentation fixed metric","rules":[{"aggregation":"sum","conditionOperator":">", "conditionValue":0.1, "metricName":"fs./dev/xvda1.free",
"rollup":null, "ruleType":"threshold", "severity":10, "window":30000}], "triggering":false
}'
```
#### System Rule:
- **rules.systemRuleId:** Id of the System Rule being set
```
curl --request POST 'https:///api/events/settings/event-specifications/custom' \
--header 'Authorization: apiToken ' \
--header 'Content-Type: application/json' \
--data-raw '{ "description":"Event for OpenAPI documentation System Rule", "enabled":true,"entityType":"any","expirationTime":"60000",
"name":"Event for OpenAPI documentation System Rule", "rules":[{"ruleType":"system", "systemRuleId":"entity.offline","severity":10}], "triggering":false
}'
```
#### Entity Verification Rule:
- **rules.matchingEntityType:** Type of the Entity
- **rules.matchingOperator:** Operator for matching the Entity name
- **rules.matchingEntityLabel:** Name Pattern for the Entity
```
curl --request POST 'https:///api/events/settings/event-specifications/custom' \
--header 'Authorization: apiToken ' \
--header 'Content-Type: application/json' \
--data-raw '{ "description":"Event for OpenAPI Entity Verification Rule", "enabled":true,"entityType":"host","expirationTime":"60000",
"name":"Event for OpenAPI Entity Verification Rule",
"rules":[{"matchingEntityLabel":"test", "matchingEntityType":"jvmRuntimePlatform","matchingOperator":"startsWith","offlineDuration":1800000,
"ruleType":"entity_verification","severity": 5}], "triggering":false
}'
```
### Deprecations:
The entity types `application`, `service` and `endpoint` are deprecated for custom events and need to be migrated to a Smart Alert soon. We advise to configure a respective Smart Alert instead of a custom Event. For more information please [refer to our documentation](https://www.ibm.com/docs/en/obi/current?topic=applications-smart-alerts).
/api/events/settings/event-specifications/custom/systemRules:
get:
description: This API helps to get all the system rules for custom event specifications.
operationId: getSystemRules
responses:
'200':
content:
application/json:
example:
- id: entity.offline
name: Offline event detection (System Rule)
schema:
type: array
items:
$ref: '#/components/schemas/SystemRuleLabel'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: All system rules for custom event specifications
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/event-specifications/custom/{eventSpecificationId}':
delete:
operationId: deleteCustomEventSpecification
parameters:
- in: path
name: eventSpecificationId
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Delete custom event specification
tags:
- Event Settings
x-ibm-ahub-byok: true
description: |
This endpoint deletes a Custom Event Specification.
By default, the ID of a deleted configuration cannot be reused anymore to enable links in previous Issues or Incidents to stay valid.
However, check out the docs for [updating a configuration](#operation/putCustomEventSpecification) how this default behavior can be changed using the `allowRestore` query parameter.
## Mandatory Parameters:
- **eventSpecificationId (Path Parameter):** A unique identifier for the custom event specification to delete.
# Example:
```
curl --request DELETE 'https:///api/events/settings/event-specifications/custom/' \
--header 'Authorization: apiToken ' \
--header 'Content-Type: application/json'
```
get:
description: This API helps to get the Custom Event specification for the given ID.
operationId: getCustomEventSpecification
parameters:
- description: eventSpecificationId
example: Yojfl6Yn9SXaFhJG
in: path
name: eventSpecificationId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: Yojfl6Yn9SXaFhJG
name: DP_Domain_MemoryUsage
entityType: ibmDataPowerDomain
query: null
triggering: true
description: Average Memory Usage for the DP Domain >= 0%
expirationTime: 60000
enabled: true
rules:
- ruleType: threshold
severity: 5
metricName: currentMemUsage
rollup: 0
window: 600000
metricPattern: null
aggregation: avg
conditionOperator: '>='
conditionValue: 0
metricLabel: Current Memory Usage
metricFormat: PERCENTAGE
ruleLogicalOperator: AND
lastUpdated: 1670404707763
validVersion: 1
actions: null
migrated: false
applicationAlertConfigId: null
deleted: false
schema:
$ref: '#/components/schemas/CustomEventSpecificationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Custom event specification
tags:
- Event Settings
x-ibm-ahub-byok: true
put:
operationId: putCustomEventSpecification
parameters:
- in: path
name: eventSpecificationId
required: true
schema:
type: string
- in: query
name: allowRestore
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEventSpecification'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEventSpecificationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Create or update custom event specification
tags:
- Event Settings
x-ibm-ahub-byok: true
description: |
This endpoint creates or updates a Custom Event Specification.
## Mandatory Parameters:
- **eventSpecificationId (Path Parameter):** A unique identifier for each custom event
- **name:** Name for the custom event
- **entityType:** Name of the available plugins for the selected source
- **rules.ruleType:** Type of the rule being set for the custom event
### Rule-type specific parameters
Depending on the chosen `ruleType`, there are further required parameters:
#### Threshold Rule using a dynamic built-in metric by pattern :
- **rules.conditionOperator:** Conditional operator for the aggregation for the provided time window
- **rules.metricPattern.prefix:** Prefix pattern for the metric
- **rules.metricPattern.operator:** Operator for matching the metric
```
curl --request PUT 'https:///api/events/settings/event-specifications/custom/' \
--header 'Authorization: apiToken ' \
--header 'Content-Type: application/json' \
--data-raw '{ "description":"Event for OpenAPI documentation", "enabled":true,"entityType":"host","expirationTime":"60000","name":"Event for OpenAPI documentation",
"query":,
"rules":[{"aggregation":"sum","conditionOperator":">", "conditionValue":0.1, "metricName":null, "metricPattern":{"prefix":"fs", "postfix":"free", "operator":"endsWith", "placeholder":"/xvda1"},
"rollup":null, "ruleType":"threshold", "severity":10, "window":30000}], "triggering":false
}'
```
The above example creates a custom event that matches disk devices that end with "/xvda1" for the metric "fs.{device}.free" for any host in scope.
#### Threshold Rule using fixed metric :
- **rules.conditionOperator:** Conditional operator for the aggregation for the provided time window
- **rules.metricName:** Metric name for the event
```
curl --request PUT 'https:///api/events/settings/event-specifications/custom/' \
--header 'Authorization: apiToken ' \
--header 'Content-Type: application/json' \
--data-raw '{ "description":"Event for OpenAPI documentation fixed Metric", "enabled":true,"entityType":"host","expirationTime":"60000",
"name":"Event for OpenAPI documentation fixed metric","rules":[{"aggregation":"sum","conditionOperator":">", "conditionValue":0.1, "metricName":"fs./dev/xvda1.free",
"rollup":null, "ruleType":"threshold", "severity":10, "window":30000}], "triggering":false
}'
```
#### System Rule:
- **rules.systemRuleId:** Id of the System Rule being set
```
curl --request PUT 'https:///api/events/settings/event-specifications/custom/' \
--header 'Authorization: apiToken ' \
--header 'Content-Type: application/json' \
--data-raw '{ "description":"Event for OpenAPI documentation System Rule", "enabled":true,"entityType":"any","expirationTime":"60000",
"name":"Event for OpenAPI documentation System Rule", "rules":[{"ruleType":"system", "systemRuleId":"entity.offline","severity":10}], "triggering":false
}'
```
#### Entity Verification Rule:
- **rules.matchingEntityType:** Type of the Entity
- **rules.matchingOperator:** Operator for matching the Entity name
- **rules.matchingEntityLabel:** Name Pattern for the Entity
```
curl --request PUT 'https:///api/events/settings/event-specifications/custom/' \
--header 'Authorization: apiToken ' \
--header 'Content-Type: application/json' \
--data-raw '{ "description":"Event for OpenAPI Entity Verification Rule", "enabled":true,"entityType":"host","expirationTime":"60000",
"name":"Event for OpenAPI Entity Verification Rule",
"rules":[{"matchingEntityLabel":"test", "matchingEntityType":"jvmRuntimePlatform","matchingOperator":"startsWith","offlineDuration":1800000,
"ruleType":"entity_verification","severity": 5}], "triggering":false
}'
```
## Optional Parameters:
- **allowRestore (Query Parameter):** Allows to restore a custom event specification that was previously deleted or migrated when set to `true`. This allows to have idempotent operations that can be useful in _configuration as code_ scenarios. By default, the ID of a deleted configuration cannot be reused anymore to enable links in previous Issues or Incidents to stay valid.
### Deprecations:
The entity types `application`, `service` and `endpoint` are deprecated for custom events and need to be migrated to a Smart Alert soon. We advise to configure a respective Smart Alert instead of a custom Event. For more information please [refer to our documentation](https://www.ibm.com/docs/en/obi/current?topic=applications-smart-alerts).
'/api/events/settings/event-specifications/custom/{eventSpecificationId}/disable':
post:
operationId: disableCustomEventSpecification
parameters:
- in: path
name: eventSpecificationId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEventSpecificationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Disable custom event specification
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/event-specifications/custom/{eventSpecificationId}/enable':
post:
operationId: enableCustomEventSpecification
parameters:
- in: path
name: eventSpecificationId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CustomEventSpecificationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Enable custom event specification
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/event-specifications/infos:
get:
description: This API helps to get the summary of all build-in and custom event specifications
operationId: getEventSpecificationInfos
responses:
'200':
content:
application/json:
example:
- id: yBGNFSh-pcKzZVBFnxoBu_36Yw4
name: Frequent TCP errors
description: Checks whether the host has an unusual high number of TCP errors.
entityType: host
type: BUILT_IN
severity: 5
triggering: false
invalid: false
enabled: true
migrated: false
schema:
type: array
items:
$ref: '#/components/schemas/EventSpecificationInfo'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: Summary of all built-in and custom event specifications
tags:
- Event Settings
x-ibm-ahub-byok: true
post:
description: Summary of all built-in and custom event specifications by IDs
operationId: getEventSpecificationInfosByIds
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
required: true
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EventSpecificationInfo'
description: OK
security:
- ApiKeyAuth:
- CanConfigureCustomAlerts
summary: All built-in and custom event specifications
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/global-alert-configs/applications:
get:
description: |-
Gets all Global Smart Alert Configuration. Configurations are sorted by creation date in descending order.
For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration.
operationId: findActiveGlobalApplicationAlertConfigs
parameters:
- description: The ID of a specific global application.
example: j02SxMRTSf-NCBXf5IdsjQ
in: query
name: applicationId
required: true
schema:
type: string
- description: A list of Global Smart Alert Configuration IDs. This allows fetching of a specific set of Configurations. This query can be repeated to use multiple IDs.
example: IYS1XOEcTNiT1eOD8pxgXg
in: query
name: alertIds
schema:
type: array
items:
type: string
maxItems: 1000
minItems: 0
uniqueItems: true
responses:
'200':
content:
application/json:
example:
- name: Slow calls than usual
description: Calls are slower or equal to 2 ms based on latency (90th).
boundaryScope: INBOUND
applications:
j02SxMRTSf-NCBXf5IdsjQ:
applicationId: j02SxMRTSf-NCBXf5IdsjQ
inclusive: true
services: {}
applicationIds:
- j02SxMRTSf-NCBXf5IdsjQ
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: staticThreshold
operator: '>='
value: 2
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
id: vlFnxhVTS3KVb-wsN26PeQ
created: 1707305626330
initialCreated: 1707305626330
readOnly: false
enabled: true
builtIn: false
schema:
type: array
items:
$ref: '#/components/schemas/GlobalApplicationAlertConfigWithMetadata'
description: OK - Returns an empty list if no configurations match the criteria
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- Default
summary: Get all Global Smart Alert Configs
tags:
- Global Application Alert Configuration
x-ibm-ahub-byok: true
post:
description: |-
Creates a new Global Smart Alert Configuration.
For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration.
operationId: createGlobalApplicationAlertConfig
requestBody:
content:
application/json:
example:
name: Slow calls than usual
description: Calls are slower or equal to 2 ms based on latency (90th).
boundaryScope: INBOUND
applications:
j02SxMRTSf-NCBXf5IdsjQ:
applicationId: j02SxMRTSf-NCBXf5IdsjQ
inclusive: true
services: {}
applicationIds:
- j02SxMRTSf-NCBXf5IdsjQ
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: staticThreshold
operator: '>='
value: 2
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
schema:
$ref: '#/components/schemas/GlobalApplicationsAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: Slow calls than usual
description: Calls are slower or equal to 2 ms based on latency (90th).
boundaryScope: INBOUND
applications:
j02SxMRTSf-NCBXf5IdsjQ:
applicationId: j02SxMRTSf-NCBXf5IdsjQ
inclusive: true
services: {}
applicationIds:
- j02SxMRTSf-NCBXf5IdsjQ
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: staticThreshold
operator: '>='
value: 2
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
id: vlFnxhVTS3KVb-wsN26PeQ
created: 1707305626330
initialCreated: 1707305626330
readOnly: false
enabled: true
builtIn: false
schema:
$ref: '#/components/schemas/GlobalApplicationAlertConfigWithMetadata'
description: Global Smart Alert Configuration created.
'400':
description: Invalid Configuration.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable entity.
security:
- ApiKeyAuth:
- CanConfigureGlobalApplicationSmartAlerts
summary: Create Global Smart Alert Config
tags:
- Global Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/applications/{id}':
delete:
description: |-
Disables a Global Smart Alert Configuration.
For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration.
operationId: deleteGlobalApplicationAlertConfig
parameters:
- description: ID of a specific Global Smart Alert Configuration to delete.
example: vlFnxhVTS3KVb-wsN26PeQ
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Global Smart Alert Configuration deleted.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalApplicationSmartAlerts
summary: Delete Global Smart Alert Config
tags:
- Global Application Alert Configuration
x-ibm-ahub-byok: true
get:
description: |-
Gets a specific Global Smart Alert Configuration. This may return a deleted Configuration.
For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration.
operationId: findGlobalApplicationAlertConfig
parameters:
- description: ID of a specific Global Smart Alert Configuration to retrieve.
example: vlFnxhVTS3KVb-wsN26PeQ
in: path
name: id
required: true
schema:
type: string
- description: 'A Unix timestamp representing a specific time the Configuration was active. If no timestamp is provided, the latest active version will be retrieved. '
example: 1707305626330
in: query
name: validOn
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
name: Slow calls than usual
description: Calls are slower or equal to 2 ms based on latency (90th).
boundaryScope: INBOUND
applications:
j02SxMRTSf-NCBXf5IdsjQ:
applicationId: j02SxMRTSf-NCBXf5IdsjQ
inclusive: true
services: {}
applicationIds:
- j02SxMRTSf-NCBXf5IdsjQ
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: staticThreshold
operator: '>='
value: 2
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
id: vlFnxhVTS3KVb-wsN26PeQ
created: 1707305626330
initialCreated: 1707305626330
readOnly: false
enabled: true
builtIn: false
schema:
$ref: '#/components/schemas/GlobalApplicationAlertConfigWithMetadata'
description: OK
'403':
description: Insufficient permissions.
'404':
description: The requested Configuration does not exist.
security:
- ApiKeyAuth:
- Default
summary: Get Global Smart Alert Config
tags:
- Global Application Alert Configuration
x-ibm-ahub-byok: true
post:
description: |-
Updates an existing Global Smart Alert Configuration.
For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration.
operationId: updateGlobalApplicationAlertConfig
parameters:
- description: ID of a specific Global Smart Alert Configuration to update.
example: vlFnxhVTS3KVb-wsN26PeQ
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
name: Slow calls than usual
description: Calls are slower or equal to 2 ms based on latency (90th).
boundaryScope: INBOUND
applications:
j02SxMRTSf-NCBXf5IdsjQ:
applicationId: j02SxMRTSf-NCBXf5IdsjQ
inclusive: true
services: {}
applicationIds:
- j02SxMRTSf-NCBXf5IdsjQ
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: staticThreshold
operator: '>='
value: 2
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
schema:
$ref: '#/components/schemas/GlobalApplicationsAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: Slow calls than usual
description: Calls are slower or equal to 2 ms based on latency (90th).
boundaryScope: INBOUND
applications:
j02SxMRTSf-NCBXf5IdsjQ:
applicationId: j02SxMRTSf-NCBXf5IdsjQ
inclusive: true
services: {}
applicationIds:
- j02SxMRTSf-NCBXf5IdsjQ
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
includeInternal: false
includeSynthetic: false
rule:
alertType: slowness
aggregation: P90
metricName: latency
threshold:
type: staticThreshold
operator: '>='
value: 2
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
evaluationType: PER_AP
customPayloadFields: []
id: vlFnxhVTS3KVb-wsN26PeQ
created: 1707305626330
initialCreated: 1707305626330
readOnly: false
enabled: true
builtIn: false
schema:
$ref: '#/components/schemas/GlobalApplicationAlertConfigWithMetadata'
description: Global Smart Alert Configuration updated.
'204':
description: Global Smart Alert Configuration did not change.
'400':
description: Invalid Application ID provided.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable entity.
'500':
description: Internal error.
security:
- ApiKeyAuth:
- CanConfigureGlobalApplicationSmartAlerts
summary: Update Global Smart Alert Config
tags:
- Global Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/applications/{id}/disable':
put:
description: |-
Disables a Global Smart Alert Configuration.
For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration.
operationId: disableGlobalApplicationAlertConfig
parameters:
- description: ID of a specific Global Smart Alert Configuration to disable.
example: vlFnxhVTS3KVb-wsN26PeQ
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Global Smart Alert Configuration disabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalApplicationSmartAlerts
summary: Disable Global Smart Alert Config
tags:
- Global Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/applications/{id}/enable':
put:
description: |-
Enables a Global Smart Alert Configuration.
For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration.
operationId: enableGlobalApplicationAlertConfig
parameters:
- description: ID of a specific Global Smart Alert Configuration to enable.
example: vlFnxhVTS3KVb-wsN26PeQ
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Global Smart Alert Configuration enabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalApplicationSmartAlerts
summary: Enable Global Smart Alert Config
tags:
- Global Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/applications/{id}/restore/{created}':
put:
description: |-
Restores a deleted Global Smart Alert Configuration.
For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration.
operationId: restoreGlobalApplicationAlertConfig
parameters:
- description: ID of a specific Global Smart Alert Configuration to restore.
example: vlFnxhVTS3KVb-wsN26PeQ
in: path
name: id
required: true
schema:
type: string
- description: Unix timestamp representing the creation time of a specific Global Smart Alert Configuration.
example: 1707305626330
in: path
name: created
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Global Smart Alert Configuration restored.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalApplicationSmartAlerts
summary: Restore Global Smart Alert Config
tags:
- Global Application Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/applications/{id}/versions':
get:
description: |-
Gets all versions of a Global Smart Alert Configuration. This may return deleted Configurations. Configurations are sorted by creation date in descending order.
For more information on Global Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Applications#global-application-alert-configuration.
operationId: findGlobalApplicationAlertConfigVersions
parameters:
- description: ID of a specific Global Smart Alert Configuration to retrieve.
example: vlFnxhVTS3KVb-wsN26PeQ
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: vlFnxhVTS3KVb-wsN26PeQ
created: 1707305626330
enabled: true
deleted: false
changeSummary:
changeType: CREATE
author:
id: 5ee8a3e8cd70020001ecb007
type: USER
fullName: Stan
schema:
type: array
items:
$ref: '#/components/schemas/ConfigVersion'
description: OK
'403':
description: Insufficient permissions.
'404':
description: The requested Configuration does not exist.
security:
- ApiKeyAuth:
- Default
summary: Get Global Smart Alert Config Versions
tags:
- Global Application Alert Configuration
x-ibm-ahub-byok: true
/api/events/settings/global-alert-configs/logs:
get:
description: Configs are sorted descending by their created date.
operationId: findActiveLogAlertConfigs
parameters:
- in: query
name: alertIds
schema:
type: array
items:
type: string
maxItems: 1000
minItems: 0
uniqueItems: true
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LogAlertConfigWithMetadata'
description: OK
security:
- ApiKeyAuth:
- Default
summary: All Log Alert Configs
tags:
- Log Alert Configuration
x-ibm-ahub-byok: true
post:
operationId: createLogAlertConfig
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LogAlertConfig'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LogAlertConfigWithMetadata'
description: OK
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureGlobalLogSmartAlerts
summary: Create Log Alert Config
tags:
- Log Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/logs/{id}':
delete:
operationId: deleteLogAlertConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Log Alert Configuration deleted.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalLogSmartAlerts
summary: Delete Log Alert Config
tags:
- Log Alert Configuration
x-ibm-ahub-byok: true
get:
description: Find a Log Alert Config by ID. This will deliver deleted configs too.
operationId: findLogAlertConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
- in: query
name: validOn
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LogAlertConfigWithMetadata'
description: OK
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- Default
summary: Get Log Alert Config
tags:
- Log Alert Configuration
x-ibm-ahub-byok: true
post:
operationId: updateLogAlertConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LogAlertConfig'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LogAlertConfigWithMetadata'
description: Log Smart Alert successfully updated
'204':
description: Log Smart Alert did not change
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureGlobalLogSmartAlerts
summary: Update Log Alert Config
tags:
- Log Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/logs/{id}/disable':
put:
operationId: disableLogAlertConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Log Alert Configuration disabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalLogSmartAlerts
summary: Disable Log Alert Config
tags:
- Log Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/logs/{id}/enable':
put:
operationId: enableLogAlertConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Log Alert Configuration enabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalLogSmartAlerts
summary: Enable Log Alert Config
tags:
- Log Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/logs/{id}/restore/{created}':
put:
operationId: restoreLogAlertConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
- in: path
name: created
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Log Alert Configuration restored.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalLogSmartAlerts
summary: Restore Log Alert Config
tags:
- Log Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/logs/{id}/versions':
get:
description: Find all versions of a Log Alert Config by ID. This will deliver deleted configs too. Configs are sorted descending by their created date.
operationId: findLogAlertConfigVersions
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ConfigVersion'
description: OK
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- Default
summary: Get versions of Log Alert Config
tags:
- Log Alert Configuration
x-ibm-ahub-byok: true
/api/events/settings/global-alert-configs/service-levels:
get:
description: Configs are sorted descending by their created date.
operationId: findActiveServiceLevelsAlertConfigs
parameters:
- description: Service Levels Objective(SLO) Configuration ID
example: SLOEANnWh9tQOa2h88kGxK6wQ
in: query
name: sloId
schema:
type: string
- description: List of Service Levels Alert Configuration IDs
example: ln3IGogYS-S7CPqcOQYTNA
in: query
name: alertIds
schema:
type: array
items:
type: string
maxItems: 1000
minItems: 0
uniqueItems: true
responses:
'200':
content:
application/json:
example:
name: Error Budget Remaining is low
description: Error Budget Remaining is less than or equal to 5%.
severity: 5
triggering: true
rule:
alertType: ERROR_BUDGET
metric: BURNED_PERCENTAGE
threshold:
type: staticThreshold
operator: '>='
value: 0.05
lastUpdated: 1716454787342
sloIds:
- SLOEANnWh9tQOa2h88kGxK6wQ
alertChannelIds: []
timeThreshold:
expiry: null
timeWindow: 600000
customPayloadFields:
- type: staticString
key: foo
value: bar
id: ln3IGogYS-S7CPqcOQYTNA
created: 1717668384754
initialCreated: 1717668384754
readOnly: false
enabled: true
schema:
type: array
items:
$ref: '#/components/schemas/ServiceLevelseAlertConfigWithMetadata'
description: Fetched list of the Service Level Alert Configurations Successfully
security:
- ApiKeyAuth:
- Default
summary: All Service levels Alert Configs
tags:
- Service Levels Alert Configuration
x-ibm-ahub-byok: true
post:
operationId: createServiceLevelsAlertConfig
requestBody:
content:
application/json:
example:
alertChannelIds: []
customPayloadFields:
- key: foo
id: avvh9tbxpfRE65t
type: staticString
value: bar
description: Error Budget Remaining is less than or equal to 5%.
name: Error Budget Remaining is low
rule:
alertType: ERROR_BUDGET
metric: BURNED_PERCENTAGE
severity: 5
sloIds:
- SLOEANnWh9tQOa2h88kGxK6wQ
threshold:
type: staticThreshold
value: 0.05
operator: '>='
lastUpdated: 1716454787342
timeThreshold:
timeWindow: 600000
triggering: true
schema:
$ref: '#/components/schemas/ServiceLevelsAlertConfig'
description: Create Request Body
required: true
responses:
'200':
content:
application/json:
example:
name: Error Budget Remaining is low
description: Error Budget Remaining is less than or equal to 5%.
severity: 5
triggering: true
rule:
alertType: ERROR_BUDGET
metric: BURNED_PERCENTAGE
threshold:
type: staticThreshold
operator: '>='
value: 0.05
lastUpdated: 1716454787342
sloIds:
- SLOEANnWh9tQOa2h88kGxK6wQ
alertChannelIds: []
timeThreshold:
expiry: null
timeWindow: 600000
customPayloadFields:
- type: staticString
key: foo
value: bar
id: ln3IGogYS-S7CPqcOQYTNA
created: 1717668384754
initialCreated: 1717668384754
readOnly: false
enabled: true
schema:
$ref: '#/components/schemas/ServiceLevelseAlertConfigWithMetadata'
description: Created new Service Levels Alert Configuration Successfully
'400':
content:
application/json:
example:
errors:
- Website SLOs do not support triggering -> true
schema:
type: array
items:
type: string
description: Service levels Alert Config with Website SLOs do not support triggering
security:
- ApiKeyAuth:
- canConfigureServiceLevelSmartAlerts
summary: Create Service levels Alert Config
tags:
- Service Levels Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/service-levels/{id}':
delete:
operationId: deleteServiceLevelsAlertConfig
parameters:
- description: Service Levels Alert Configuration ID
example: ln3IGogYS-S7CPqcOQYTNA
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Service Levels Alert Configuration Deleted Successfully
'404':
content:
application/json:
example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not found"]}'
schema:
type: string
description: Service levels Alert Config with given ID not found
security:
- ApiKeyAuth:
- canConfigureServiceLevelSmartAlerts
summary: Delete Service levels Alert Config
tags:
- Service Levels Alert Configuration
x-ibm-ahub-byok: true
get:
description: Find a Service levels Alert Config by ID. This will deliver deleted configs too.
operationId: findServiceLevelsAlertConfig
parameters:
- description: Service Levels Alert Configuration ID
example: ln3IGogYS-S7CPqcOQYTNA
in: path
name: id
required: true
schema:
type: string
- description: Service Levels Alert Version Creation Date
example: 1706617456952
in: query
name: validOn
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
name: Error Budget Remaining is low
description: Error Budget Remaining is less than or equal to 5%.
severity: 5
triggering: true
rule:
alertType: ERROR_BUDGET
metric: BURNED_PERCENTAGE
threshold:
type: staticThreshold
operator: '>='
value: 0.05
lastUpdated: 1716454787342
sloIds:
- SLOEANnWh9tQOa2h88kGxK6wQ
alertChannelIds: []
timeThreshold:
expiry: null
timeWindow: 600000
customPayloadFields:
- type: staticString
key: foo
value: bar
id: ln3IGogYS-S7CPqcOQYTNA
created: 1717668384754
initialCreated: 1717668384754
readOnly: false
enabled: true
schema:
$ref: '#/components/schemas/ServiceLevelseAlertConfigWithMetadata'
description: Fetched Service Level Alert Configuration Successfully
'404':
content:
application/json:
example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not found"]}'
schema:
type: string
description: Service levels Alert Config with given ID not found
security:
- ApiKeyAuth:
- Default
summary: Get Service levels Alert Config
tags:
- Service Levels Alert Configuration
x-ibm-ahub-byok: true
post:
operationId: updateServiceLevelsAlertConfig
parameters:
- description: Service Levels Alert Configuration ID
example: ln3IGogYS-S7CPqcOQYTNA
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
alertChannelIds: []
customPayloadFields:
- key: foo
id: avvh9tbxpfRE65t
type: staticString
value: bar
description: Error Budget Remaining is less than or equal to 5%.
name: Error Budget Remaining is low
rule:
alertType: ERROR_BUDGET
metric: BURNED_PERCENTAGE
severity: 5
sloIds:
- SLOEANnWh9tQOa2h88kGxK6wQ
threshold:
type: staticThreshold
value: 0.05
operator: '>='
lastUpdated: 1716454787342
timeThreshold:
timeWindow: 600000
triggering: true
schema:
$ref: '#/components/schemas/ServiceLevelsAlertConfig'
description: Update Request Body
required: true
responses:
'200':
content:
application/json:
example:
name: Error Budget Remaining is low
description: Error Budget Remaining is less than or equal to 5%.
severity: 5
triggering: true
rule:
alertType: ERROR_BUDGET
metric: BURNED_PERCENTAGE
threshold:
type: staticThreshold
operator: '>='
value: 0.05
lastUpdated: 1716454787342
sloIds:
- SLOEANnWh9tQOa2h88kGxK6wQ
alertChannelIds: []
timeThreshold:
expiry: null
timeWindow: 600000
customPayloadFields:
- type: staticString
key: foo
value: bar
id: ln3IGogYS-S7CPqcOQYTNA
created: 1717668384754
initialCreated: 1717668384754
readOnly: false
enabled: true
schema:
$ref: '#/components/schemas/ServiceLevelseAlertConfigWithMetadata'
description: Updated Service Levels Alert Configuration Successfully
'204':
description: Service Levels Smart Alert Configuration did not change
'400':
content:
application/json:
example:
errors:
- Website SLOs do not support triggering -> true
schema:
type: array
items:
type: string
description: Service levels Alert Config with Website SLOs do not support triggering
security:
- ApiKeyAuth:
- canConfigureServiceLevelSmartAlerts
summary: Update Service levels Alert Config
tags:
- Service Levels Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/service-levels/{id}/disable':
put:
operationId: disableServiceLevelsAlertConfig
parameters:
- description: Service Levels Alert Configuration ID
example: ln3IGogYS-S7CPqcOQYTNA
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Service Levels Alert Configuration Disabled Successfully
'404':
content:
application/json:
example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not found"]}'
schema:
type: string
description: Service levels Alert Config with given ID not found
security:
- ApiKeyAuth:
- canConfigureServiceLevelSmartAlerts
summary: Disable Service levels Alert Config
tags:
- Service Levels Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/service-levels/{id}/enable':
put:
operationId: enableServiceLevelsAlertConfig
parameters:
- description: Service Levels Alert Configuration ID
example: ln3IGogYS-S7CPqcOQYTNA
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Service Levels Alert Configuration Enabled Successfully
'404':
content:
application/json:
example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not found"]}'
schema:
type: string
description: Service levels Alert Config with given ID not found
security:
- ApiKeyAuth:
- canConfigureServiceLevelSmartAlerts
summary: Enable Service levels Alert Config
tags:
- Service Levels Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/service-levels/{id}/restore/{created}':
put:
operationId: restoreServiceLevelsAlertConfig
parameters:
- description: Service Levels Alert Configuration ID
example: ln3IGogYS-S7CPqcOQYTNA
in: path
name: id
required: true
schema:
type: string
- description: Service Levels Alert Version Creation Date
example: 1706617456952
in: path
name: created
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Service Levels Alert Configuration Restored Successfully
'404':
content:
application/json:
example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not found"]}'
schema:
type: string
description: Service levels Alert Config with given ID not found
security:
- ApiKeyAuth:
- canConfigureServiceLevelSmartAlerts
summary: Restore Service levels Alert Config
tags:
- Service Levels Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/service-levels/{id}/versions':
get:
description: Find all versions of a Service levels Alert Config by ID. This will deliver deleted configs too. Configs are sorted descending by their created date.
operationId: findServiceLevelsAlertConfigVersions
parameters:
- description: Service Levels Alert Configuration ID
example: ln3IGogYS-S7CPqcOQYTNA
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: ln3IGogYS-S7CPqcOQYTNA
created: 1717507017767
enabled: false
deleted: false
changeSummary:
changeType: DISABLE
author:
id: SCzqyU_LTtmO9CCnvvVOAg
type: API
fullName: userToken
- id: ln3IGogYS-S7CPqcOQYTNA
created: 1717506979607
enabled: true
deleted: false
changeSummary:
changeType: CREATE
author:
id: SCzqyU_LTtmO9CCnvvVOAg
type: API
fullName: userToken
schema:
type: array
items:
$ref: '#/components/schemas/ConfigVersion'
description: Fetched list of Service Level Alert Configuration Versions Successfully
'404':
content:
application/json:
example: '{"errors":["Config with id: -DZZjflTQTmZ7yGvBilPlQ is not found"]}'
schema:
type: string
description: Service levels Alert Config with given ID not found
security:
- ApiKeyAuth:
- Default
summary: Get versions of Service levels Alert Config
tags:
- Service Levels Alert Configuration
x-ibm-ahub-byok: true
/api/events/settings/global-alert-configs/synthetics:
get:
description: |-
Gets all the Synthetic Smart Alert Configuration pertaining to a specific synthetic test. Configurations are sorted by creation date in descending order.
For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration.
operationId: findActiveSyntheticAlertConfigs
parameters:
- description: 'The ID of a specific Synthetic Test. '
example: ic25Vt1T5dgKzi0K7812
in: query
name: syntheticTestId
schema:
type: string
- description: A list of Smart Alert Configuration IDs. This allows fetching of a specific set of Configurations. This query can be repeated to use multiple IDs.
example: smRTFp08juKWtn8I
in: query
name: alertIds
schema:
type: array
items:
type: string
maxItems: 1000
minItems: 0
uniqueItems: true
responses:
'200':
content:
application/json:
example:
- name: Tests in EU are failing
description: Tests in EU failed for 1 consecutive time
syntheticTestIds:
- ic25Vt1T5dgKzi0K7812
- 2gBxQz3oKtXgFXzRoQ6O
severity: 5
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: synthetic.serviceId
stringValue: '12'
numberValue: null
booleanValue: null
key: null
value: '12'
operator: EQUALS
entity: NOT_APPLICABLE
- type: TAG_FILTER
name: synthetic.locationLabel
stringValue: US-west1
numberValue: null
booleanValue: null
key: null
value: '123'
operator: EQUALS
entity: NOT_APPLICABLE
rule:
alertType: failure
metricName: status
aggregation: SUM
alertChannelIds: []
timeThreshold:
type: violationsInSequence
violationsCount: 1
customPayloadFields: []
id: 2K1YQIeaSQKIcIkHPH7D3g
created: 1707486254161
initialCreated: 1706531043586
readOnly: false
enabled: true
schema:
type: array
items:
$ref: '#/components/schemas/SyntheticAlertConfigWithMetadata'
description: Success. Returns empty result if syntheticTestId is invalid.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- Default
summary: Get all Synthetic Smart Alert Configs
tags:
- Synthetic Alert Configuration
x-ibm-ahub-byok: true
post:
description: |-
Creates a new Synthetic Smart Alert Configuration.
For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration.
operationId: createSyntheticAlertConfig
requestBody:
content:
application/json:
example:
name: '2 consecutive failures of ${synthetic.testName} at locations${synthetic.locationLabel}'
description: Alert created without test but with AppId - Synthetic test failed for 2 consecutive times
syntheticTestIds:
- ic25Vt1T5dgKzi0K7812
- 2gBxQz3oKtXgFXzRoQ6O
severity: 5
tagFilterExpression:
type: TAG_FILTER
name: synthetic.applicationId
stringValue: 2BPCBLz_RBG8J6mjyuxm6w
numberValue: null
booleanValue: null
key: null
value: 2BPCBLz_RBG8J6mjyuxm6w
operator: EQUALS
entity: NOT_APPLICABLE
rule:
alertType: failure
metricName: status
aggregation: SUM
alertChannelIds:
- 0o1ISHPfR8-N4iUK
timeThreshold:
type: violationsInSequence
violationsCount: 2
customPayloadFields: []
schema:
$ref: '#/components/schemas/SyntheticAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: '2 consecutive failures of ${synthetic.testName} at locations${synthetic.locationLabel}'
description: Alert created without test but with AppId - Synthetic test failed for 2 consecutive times
syntheticTestIds:
- ic25Vt1T5dgKzi0K7812
- 2gBxQz3oKtXgFXzRoQ6O
severity: 5
tagFilterExpression:
type: TAG_FILTER
name: synthetic.applicationId
stringValue: 2BPCBLz_RBG8J6mjyuxm6w
numberValue: null
booleanValue: null
key: null
value: 2BPCBLz_RBG8J6mjyuxm6w
operator: EQUALS
entity: NOT_APPLICABLE
rule:
alertType: failure
metricName: status
aggregation: SUM
alertChannelIds:
- 0o1ISHPfR8-N4iUK
timeThreshold:
type: violationsInSequence
violationsCount: 2
customPayloadFields: []
id: qgEwvI0vRfe3Al_D7T7LSA
created: 1707149760053
initialCreated: 1707145201046
readOnly: false
enabled: true
schema:
$ref: '#/components/schemas/SyntheticAlertConfigWithMetadata'
description: Synthetic Smart Alert Configuration created.
'400':
description: Invalid configuration.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable entity.
security:
- ApiKeyAuth:
- CanConfigureGlobalSyntheticSmartAlerts
summary: Create Synthetic Smart Alert Config
tags:
- Synthetic Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/synthetics/{id}':
delete:
description: |-
Deletes a Synthetic Smart Alert Configuration.
For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration.
operationId: deleteSyntheticAlertConfig
parameters:
- description: ID of a specific Synthetic Smart Alert Configuration to delete.
example: 2K1YQIeaSQKIcIkHPH7D3g
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Synthetic Smart Alert Configuration deleted.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalSyntheticSmartAlerts
summary: Delete Synthetic Smart Alert Config
tags:
- Synthetic Alert Configuration
x-ibm-ahub-byok: true
get:
description: |-
Gets a specific Synthetic Smart Alert Configuration. This may return a deleted Configuration.
For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration.
operationId: findSyntheticAlertConfig
parameters:
- description: ID of a specific Synthetic Smart Alert Configuration to retrieve.
example: qgEwvI0vRfe3Al_D7T7LSA
in: path
name: id
required: true
schema:
type: string
- description: 'A Unix timestamp representing a specific time the Configuration was active. If no timestamp is provided, the latest active version will be retrieved. '
example: 1707149760053
in: query
name: validOn
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
name: '2 consecutive failures of ${synthetic.testName} at locations${synthetic.locationLabel}'
description: Alert created without test but with AppId - Synthetic test failed for 2 consecutive times
syntheticTestIds:
- ic25Vt1T5dgKzi0K7812
- 2gBxQz3oKtXgFXzRoQ6O
severity: 5
tagFilterExpression:
type: TAG_FILTER
name: synthetic.applicationId
stringValue: 2BPCBLz_RBG8J6mjyuxm6w
numberValue: null
booleanValue: null
key: null
value: 2BPCBLz_RBG8J6mjyuxm6w
operator: EQUALS
entity: NOT_APPLICABLE
rule:
alertType: failure
metricName: status
aggregation: SUM
alertChannelIds:
- 0o1ISHPfR8-N4iUK
timeThreshold:
type: violationsInSequence
violationsCount: 2
customPayloadFields: []
id: qgEwvI0vRfe3Al_D7T7LSA
created: 1707149760053
initialCreated: 1707145201046
readOnly: false
enabled: true
schema:
$ref: '#/components/schemas/SyntheticAlertConfigWithMetadata'
description: OK
'403':
description: Insufficient permissions.
'404':
description: The requested Configuration does not exist.
security:
- ApiKeyAuth:
- Default
summary: Get Synthetic Smart Alert Config
tags:
- Synthetic Alert Configuration
x-ibm-ahub-byok: true
post:
description: |-
Updates an existing Synthetic Smart Alert Configuration.
For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration.
operationId: updateSyntheticAlertConfig
parameters:
- description: ID of a specific Synthetic Smart Alert Configuration to update.
example: qgEwvI0vRfe3Al_D7T7LSA
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
name: '2 consecutive failures of ${synthetic.testName} at locations${synthetic.locationLabel}'
description: Alert created without test but with AppId - Synthetic test failed for 2 consecutive times
syntheticTestIds:
- ic25Vt1T5dgKzi0K7812
- 2gBxQz3oKtXgFXzRoQ6O
severity: 5
tagFilterExpression:
type: TAG_FILTER
name: synthetic.applicationId
stringValue: 2BPCBLz_RBG8J6mjyuxm6w
numberValue: null
booleanValue: null
key: null
value: 2BPCBLz_RBG8J6mjyuxm6w
operator: EQUALS
entity: NOT_APPLICABLE
rule:
alertType: failure
metricName: status
aggregation: SUM
alertChannelIds:
- 0o1ISHPfR8-N4iUK
timeThreshold:
type: violationsInSequence
violationsCount: 2
customPayloadFields: []
schema:
$ref: '#/components/schemas/SyntheticAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: '2 consecutive failures of ${synthetic.testName} at locations${synthetic.locationLabel}'
description: Alert created without test but with AppId - Synthetic test failed for 2 consecutive times
syntheticTestIds:
- ic25Vt1T5dgKzi0K7812
- 2gBxQz3oKtXgFXzRoQ6O
severity: 5
tagFilterExpression:
type: TAG_FILTER
name: synthetic.applicationId
stringValue: 2BPCBLz_RBG8J6mjyuxm6w
numberValue: null
booleanValue: null
key: null
value: 2BPCBLz_RBG8J6mjyuxm6w
operator: EQUALS
entity: NOT_APPLICABLE
rule:
alertType: failure
metricName: status
aggregation: SUM
alertChannelIds:
- 0o1ISHPfR8-N4iUK
timeThreshold:
type: violationsInSequence
violationsCount: 2
customPayloadFields: []
id: qgEwvI0vRfe3Al_D7T7LSA
created: 1707149760053
initialCreated: 1707145201046
readOnly: false
enabled: true
schema:
$ref: '#/components/schemas/SyntheticAlertConfigWithMetadata'
description: Synthetic Smart Alert Configuration updated
'204':
description: Synthetic Smart Alert Configuration did not change
'400':
description: Invalid Configuration ID provided.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable entity.
'500':
description: Internal error.
security:
- ApiKeyAuth:
- CanConfigureGlobalSyntheticSmartAlerts
summary: Update Synthetic Smart Alert Config
tags:
- Synthetic Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/synthetics/{id}/disable':
put:
description: |-
Disables a Synthetic Smart Alert Configuration.
For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration.
operationId: disableSyntheticAlertConfig
parameters:
- description: ID of a specific Synthetic Smart Alert Configuration to disable.
example: 2K1YQIeaSQKIcIkHPH7D3g
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Synthetic Smart Alert Configuration disabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalSyntheticSmartAlerts
summary: Disable Synthetic Smart Alert Config
tags:
- Synthetic Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/synthetics/{id}/enable':
put:
description: |-
Enables a Synthetic Smart Alert Configuration.
For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration.
operationId: enableSyntheticAlertConfig
parameters:
- description: ID of a specific Synthetic Smart Alert Configuration to enable.
example: 2K1YQIeaSQKIcIkHPH7D3g
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Synthetic Smart Alert Configuration enabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalSyntheticSmartAlerts
summary: Enable Synthetic Smart Alert Config
tags:
- Synthetic Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/synthetics/{id}/restore/{created}':
put:
description: |-
Restores a deleted Synthetic Smart Alert Configuration.
For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration.
operationId: restoreSyntheticAlertConfig
parameters:
- description: ID of a specific Synthetic Smart Alert Configuration to restore.
example: 2K1YQIeaSQKIcIkHPH7D3g
in: path
name: id
required: true
schema:
type: string
- description: Unix timestamp representing the creation time of a specific Synthetic Smart Alert Configuration.
example: 1707726529124
in: path
name: created
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Synthetic Smart Alert Configuration restored.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration provided.
security:
- ApiKeyAuth:
- CanConfigureGlobalSyntheticSmartAlerts
summary: Restore Synthetic Smart Alert Config
tags:
- Synthetic Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/global-alert-configs/synthetics/{id}/versions':
get:
description: |-
Gets all versions of a Synthetic Smart Alert Configuration. This may return deleted Configurations. Configurations are sorted by creation date in descending order.
For more information on Synthetic Alert Configuration please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-alert-configuration.
operationId: findSyntheticAlertConfigVersions
parameters:
- description: ID of a specific Synthetic Smart Alert Configuration to retrieve.
example: qgEwvI0vRfe3Al_D7T7LSA
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: qgEwvI0vRfe3Al_D7T7LSA
created: 1707149760053
enabled: true
deleted: false
changeSummary:
changeType: UPDATE
author:
id: 6244073003b38f0001209ec5
type: USER
fullName: John Doe
- id: qgEwvI0vRfe3Al_D7T7LSA
created: 1707145201046
enabled: true
deleted: false
changeSummary:
changeType: CREATE
author:
id: 6244073003b38f0001209ec5
type: USER
fullName: John Doe
schema:
type: array
items:
$ref: '#/components/schemas/ConfigVersion'
description: OK
'403':
description: Insufficient permissions.
'404':
description: The requested Configuration does not exist.
security:
- ApiKeyAuth:
- Default
summary: Get Synthetic Smart Alert Config Versions
tags:
- Synthetic Alert Configuration
x-ibm-ahub-byok: true
/api/events/settings/infra-alert-configs:
get:
description: Configs are sorted descending by their created date.
operationId: findActiveInfraAlertConfigs
parameters:
- description: List of IDs of Infra Smart Alert configurations
example: '[4kxgJAXdSDiu6swQaKXrJw, ZLo28grvQaiMqIaikJK1RQ]'
in: query
name: alertIds
schema:
type: array
items:
type: string
maxItems: 1000
minItems: 0
uniqueItems: true
responses:
'200':
content:
application/json:
example:
- name: high-mean-memory-usage
description: Something is going wrong in your infrastructure.
severity: 5
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: kubernetes.cluster.name
stringValue: 200_PoP_Cluster
numberValue: null
booleanValue: null
key: null
value: 200_PoP_Cluster
operator: EQUALS
entity: NOT_APPLICABLE
groupBy:
- kubernetes.cluster.name
- kubernetes.namespace.name
- kubernetes.pod.name
rule:
alertType: genericRule
metricName: memory.usage
entityType: crio
aggregation: MEAN
crossSeriesAggregation: MEAN
regex: false
threshold:
type: staticThreshold
operator: '>='
value: 1
lastUpdated: 1724720573744
forecastingConfig: null
alertChannelIds:
- VjS1NvcXpOARmTvA
- CrLI3QeIZKygaNLH
granularity: 60000
timeThreshold:
type: violationsInSequence
timeWindow: 180000
id: 4kxgJAXdSDiu6swQaKXrJw
created: 1724720587414
initialCreated: 1714766649532
readOnly: false
enabled: false
customPayloadFields:
- type: staticString
key: testKey
value: team-ar
rules:
- thresholdOperator: '>='
rule:
alertType: genericRule
metricName: memory.usage
entityType: crio
aggregation: MEAN
crossSeriesAggregation: MEAN
regex: false
thresholds:
WARNING:
type: staticThreshold
value: 1
CRITICAL:
type: staticThreshold
value: 4
schema:
type: array
items:
$ref: '#/components/schemas/InfraAlertConfigWithMetadata'
description: OK
security:
- ApiKeyAuth:
- Default
summary: All Infra Alert Configs
tags:
- Infrastructure Alert Configuration
x-ibm-ahub-byok: true
post:
operationId: createInfraAlertConfig
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InfraAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: high-mean-memory-usage
description: Something is going wrong in your infrastructure.
severity: 5
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: kubernetes.cluster.name
stringValue: 200_PoP_Cluster
numberValue: null
booleanValue: null
key: null
value: 200_PoP_Cluster
operator: EQUALS
entity: NOT_APPLICABLE
groupBy:
- kubernetes.cluster.name
- kubernetes.namespace.name
- kubernetes.pod.name
rule:
alertType: genericRule
metricName: memory.usage
entityType: crio
aggregation: MEAN
crossSeriesAggregation: MEAN
regex: false
threshold:
type: staticThreshold
operator: '>='
value: 1
lastUpdated: 1724720573744
forecastingConfig: null
alertChannelIds:
- VjS1NvcXpOARmTvA
- CrLI3QeIZKygaNLH
granularity: 60000
timeThreshold:
type: violationsInSequence
timeWindow: 180000
id: 4kxgJAXdSDiu6swQaKXrJw
created: 1724720587414
initialCreated: 1714766649532
readOnly: false
enabled: false
customPayloadFields:
- type: staticString
key: testKey
value: team-ar
rules:
- thresholdOperator: '>='
rule:
alertType: genericRule
metricName: memory.usage
entityType: crio
aggregation: MEAN
crossSeriesAggregation: MEAN
regex: false
thresholds:
WARNING:
type: staticThreshold
value: 1
CRITICAL:
type: staticThreshold
value: 4
schema:
$ref: '#/components/schemas/InfraAlertConfigWithMetadata'
description: OK
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureGlobalInfraSmartAlerts
summary: Create Infra Alert Config
tags:
- Infrastructure Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/infra-alert-configs/{id}':
delete:
operationId: deleteInfraAlertConfig
parameters:
- description: ID of the Infra Smart Alert configuration to delete
example: 4kxgJAXdSDiu6swQaKXrJw
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
security:
- ApiKeyAuth:
- CanConfigureGlobalInfraSmartAlerts
summary: Delete Infra Alert Config
tags:
- Infrastructure Alert Configuration
x-ibm-ahub-byok: true
get:
description: Find a Infra Alert Config by ID. This will deliver deleted configs too.
operationId: findInfraAlertConfig
parameters:
- description: ID of the Infra Smart Alert configuration
example: 4kxgJAXdSDiu6swQaKXrJw
in: path
name: id
required: true
schema:
type: string
- description: 'A Unix timestamp representing a specific time the config was active. If no timestamp is provided, the latest active version will be retrieved. '
example: 1722877985000
in: query
name: validOn
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
name: high-mean-memory-usage
description: Something is going wrong in your infrastructure.
severity: 5
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: kubernetes.cluster.name
stringValue: 200_PoP_Cluster
numberValue: null
booleanValue: null
key: null
value: 200_PoP_Cluster
operator: EQUALS
entity: NOT_APPLICABLE
groupBy:
- kubernetes.cluster.name
- kubernetes.namespace.name
- kubernetes.pod.name
rule:
alertType: genericRule
metricName: memory.usage
entityType: crio
aggregation: MEAN
crossSeriesAggregation: MEAN
regex: false
threshold:
type: staticThreshold
operator: '>='
value: 1
lastUpdated: 1724720573744
forecastingConfig: null
alertChannelIds:
- VjS1NvcXpOARmTvA
- CrLI3QeIZKygaNLH
granularity: 60000
timeThreshold:
type: violationsInSequence
timeWindow: 180000
id: 4kxgJAXdSDiu6swQaKXrJw
created: 1724720587414
initialCreated: 1714766649532
readOnly: false
enabled: false
customPayloadFields:
- type: staticString
key: testKey
value: team-ar
rules:
- thresholdOperator: '>='
rule:
alertType: genericRule
metricName: memory.usage
entityType: crio
aggregation: MEAN
crossSeriesAggregation: MEAN
regex: false
thresholds:
WARNING:
type: staticThreshold
value: 1
CRITICAL:
type: staticThreshold
value: 4
schema:
$ref: '#/components/schemas/InfraAlertConfigWithMetadata'
description: OK
'404':
description: Resource not found.
security:
- ApiKeyAuth:
- Default
summary: Get Infra Alert Config
tags:
- Infrastructure Alert Configuration
x-ibm-ahub-byok: true
post:
operationId: updateInfraAlertConfig
parameters:
- description: ID of the Infra Smart Alert configuration to update
example: 4kxgJAXdSDiu6swQaKXrJw
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InfraAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: high-mean-memory-usage
description: Something is going wrong in your infrastructure.
severity: 5
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: kubernetes.cluster.name
stringValue: 200_PoP_Cluster
numberValue: null
booleanValue: null
key: null
value: 200_PoP_Cluster
operator: EQUALS
entity: NOT_APPLICABLE
groupBy:
- kubernetes.cluster.name
- kubernetes.namespace.name
- kubernetes.pod.name
rule:
alertType: genericRule
metricName: memory.usage
entityType: crio
aggregation: MEAN
crossSeriesAggregation: MEAN
regex: false
threshold:
type: staticThreshold
operator: '>='
value: 1
lastUpdated: 1724720573744
forecastingConfig: null
alertChannelIds:
- VjS1NvcXpOARmTvA
- CrLI3QeIZKygaNLH
granularity: 60000
timeThreshold:
type: violationsInSequence
timeWindow: 180000
id: 4kxgJAXdSDiu6swQaKXrJw
created: 1724720587414
initialCreated: 1714766649532
readOnly: false
enabled: false
customPayloadFields:
- type: staticString
key: testKey
value: team-ar
rules:
- thresholdOperator: '>='
rule:
alertType: genericRule
metricName: memory.usage
entityType: crio
aggregation: MEAN
crossSeriesAggregation: MEAN
regex: false
thresholds:
WARNING:
type: staticThreshold
value: 1
CRITICAL:
type: staticThreshold
value: 4
schema:
$ref: '#/components/schemas/InfraAlertConfigWithMetadata'
description: OK
'204':
description: Infra Smart Alert did not change
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureGlobalInfraSmartAlerts
summary: Update Infra Alert Config
tags:
- Infrastructure Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/infra-alert-configs/{id}/disable':
put:
operationId: disableInfraAlertConfig
parameters:
- description: ID of the Infra Smart Alert configuration to disable
example: 4kxgJAXdSDiu6swQaKXrJw
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Successful - no content to return.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
security:
- ApiKeyAuth:
- CanConfigureGlobalInfraSmartAlerts
summary: Disable Infra Alert Config
tags:
- Infrastructure Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/infra-alert-configs/{id}/enable':
put:
operationId: enableInfraAlertConfig
parameters:
- description: ID of the Infra Smart Alert configuration to enable
example: 4kxgJAXdSDiu6swQaKXrJw
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Successful - no content to return.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
security:
- ApiKeyAuth:
- CanConfigureGlobalInfraSmartAlerts
summary: Enable Infra Alert Config
tags:
- Infrastructure Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/infra-alert-configs/{id}/restore/{created}':
put:
operationId: restoreInfraAlertConfig
parameters:
- description: ID of the Infra Smart Alert configuration to restore
example: 4kxgJAXdSDiu6swQaKXrJw
in: path
name: id
required: true
schema:
type: string
- description: A Unix Timestamp of when the alert was created
example: 1722877985000
in: path
name: created
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Successful - no content to return.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
security:
- ApiKeyAuth:
- CanConfigureGlobalInfraSmartAlerts
summary: Restore Infra Alert Config
tags:
- Infrastructure Alert Configuration
x-ibm-ahub-byok: true
'/api/events/settings/infra-alert-configs/{id}/versions':
get:
description: Find all versions of a Infra Alert Config by ID. This will deliver deleted configs too. Configs are sorted descending by their created date.
operationId: findInfraAlertConfigVersions
parameters:
- description: ID of the Infra Smart Alert configuration
example: 4kxgJAXdSDiu6swQaKXrJw
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: 4kxgJAXdSDiu6swQaKXrJw
created: 1724720587414
enabled: false
deleted: false
changeSummary:
changeType: DISABLE
author:
id: 5ee8a3e8cd70020001ecb007
type: USER
fullName: Stan
schema:
type: array
items:
$ref: '#/components/schemas/ConfigVersion'
description: OK
'404':
description: Resource not found.
security:
- ApiKeyAuth:
- Default
summary: Get versions of Infra Alert Config
tags:
- Infrastructure Alert Configuration
x-ibm-ahub-byok: true
/api/events/settings/manual-close:
post:
description: Manually close a set of events. A close notification will be sent out and the event state will be updated accordingly for each event
operationId: multiCloseEvent
requestBody:
content:
application/json:
example:
eventIds:
- DPmhOKanQ3KmQCCElqOBeg
- PRYfcm_7QRid9IRRhW3Y4w
username: user123
reasonForClosing: Routine maintenance completed
closeTimestamp: 1691505637000
muteAlerts: true
schema:
$ref: '#/components/schemas/ManualCloseInfo'
required: true
responses:
'200':
content:
application/json:
example:
successfulRequests:
- DPmhOKanQ3KmQCCElqOBeg
- PRYfcm_7QRid9IRRhW3Y4w
failedRequests: []
schema:
$ref: '#/components/schemas/Json'
description: The multi close operation was successful
'207':
description: At least one of the manual close operations failed
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'501':
description: The multi close feature is not enabled.
security:
- ApiKeyAuth:
- CanManuallyCloseIssue
summary: Manually closing multiple events
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/manual-close/{eventId}':
post:
description: Manually close an event (issue or incident). A close notification will be sent out and the event state will be updated accordingly.
operationId: manuallyCloseEvent
parameters:
- example: exampleEventId
in: path
name: eventId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
username: user123
reasonForClosing: Routine maintenance completed
closeTimestamp: 1691505637000
muteAlerts: true
schema:
$ref: '#/components/schemas/ManualCloseInfo'
required: true
responses:
'200':
content:
application/json:
example: |
{
"type": "issue",
"key": "__6oRuc3-oYSbWm2xjiFW7c-7RjLg__com.instana.forge.application.Endpoint__7-eW690TQA-dH4yxMDFpTQ.6oRuc3-oYSbWm2xjiFW7c-7RjLg57517532",
"id": "GdKPDQV0SR6bc184Hg4wig",
"problem": {
"id": "3Lp8tyWNTvKdypvFskzDGA",
"plugin_id": "com.instana.forge.application.Endpoint",
"steady_id": "6oRuc3-oYSbWm2xjiFW7c-7RjLg",
"host_id": "",
"problem_text": "_woot",
"fix_suggestion": "Calls are slower or equal to 3440 ms based on latency (90th).",
"explanation": "",
"severity": 5,
"experimental": false
},
"state": "MANUALLY_CLOSED",
"metadata": {
"app20EndpointServiceLabel": "otel-shop-shipping",
"entityLabel": "/cities/{code}",
"incidentNeeded": false,
"manualCloseReason": "Routine maintenance completed",
"manualCloseTimestamp": 1730755686351,
"app20EndpointId": "6oRuc3-oYSbWm2xjiFW7c-7RjLg",
"triggeringTime": 1730754600000,
"entityName": "Endpoint",
"metricAccessId": "MjSTRXXEiDXlDRiUUZH_3pKkeNw",
"windowWarmupTime": 1200000,
"app20ApplicationId": "btg-B701Rx6o9QNXUS4TVw",
"disableEvent": false,
"manualCloseUsername": "user123",
"thresholdType": "staticThreshold",
"muteAlerts": true,
"eventConfigurationType": "Application Smart Alert",
"endpointIds": ["6oRuc3-oYSbWm2xjiFW7c-7RjLg"],
"app20ServiceId": "29af274138b88060667309e933725265a7c45208",
"serviceIds": ["29af274138b88060667309e933725265a7c45208"],
"eventSpecificationId": "7-eW690TQA-dH4yxMDFpTQ",
"alertConfigCreated": 1662545340108,
"granularity": 600000,
"metricViolationTimestamps": [1730754600000],
"custom_issue": true,
"applicationId": "btg-B701Rx6o9QNXUS4TVw",
"smartAlertInfo": {
"metricAggregation": "P90",
"metricName": "latency",
"metricValue": 44300.0,
"thresholdValue": 3440.0,
"metricUnit": "MILLIS"
},
"customPayloads": {
"appName": ["All Services"],
"podName": ["otel-shop-shipping-5b9bd5448d-9r7h9"]
},
"incidents": [],
"triggering": false,
"start": 1730755339666,
"end": 1730757446576,
"affectedEntities": ["MjSTRXXEiDXlDRiUUZH_3pKkeNw"],
"type": "issue",
"eventMode": "ENDPOINT_20"
}
schema:
$ref: '#/components/schemas/Event'
description: The event associated with that event id was successfully closed.
'400':
description: The manual close information is required.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: The event id refers to an event that is not open.
security:
- ApiKeyAuth:
- CanManuallyCloseIssue
summary: Manually close an event.
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/mobile-app-alert-configs:
get:
description: Gets all the Mobile Smart Alert Configuration pertaining to a specific mobile app.Configurations are sorted by creation date in descending order.
operationId: findActiveMobileAppAlertConfigs
parameters:
- description: The ID of a specific Mobile Application.
example: tk2OLeusR3aQJD5h-rBh2A
in: query
name: mobileAppId
required: true
schema:
type: string
- description: A list of Smart Alert Configuration IDs. This allows Website Smart Alert Configuration of a specific set of Configurations. This query can be repeated to use multiple IDs.
example: smRTFp08juKWtn8I
in: query
name: alertIds
schema:
type: array
items:
type: string
maxItems: 1000
minItems: 0
uniqueItems: true
responses:
'200':
content:
application/json:
example:
- name: 'HTTP Status Code(s): 5XX'
description: Occurrences of HTTP Status Code 5XX (Server Error) is above the expectation.
mobileAppId: tk2OLeusR3aQJD5h-rBh2A
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: statusCode
metricName: httpxxx
operator: STARTS_WITH
value: '5'
aggregation: SUM
threshold:
type: staticThreshold
operator: '>='
value: 5
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields: []
id: qOW5jlR5TQafXKWDIceRkA
created: 1707224011842
initialCreated: 1707224011842
readOnly: false
enabled: true
completeTagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: mobileBeacon.mobileApp.id
stringValue: tk2OLeusR3aQJD5h-rBh2A
numberValue: null
booleanValue: null
key: null
value: tk2OLeusR3aQJD5h-rBh2A
operator: EQUALS
entity: NOT_APPLICABLE
- type: TAG_FILTER
name: mobileBeacon.http.status
stringValue: '5'
numberValue: null
booleanValue: null
key: null
value: '5'
operator: STARTS_WITH
entity: NOT_APPLICABLE
schema:
type: array
items:
$ref: '#/components/schemas/WithMetadata'
description: Success. Returns empty result if mobileAppId is invalid.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureMobileAppSmartAlerts
summary: Get all Mobile Smart Alert Configs
tags:
- Event Settings
x-ibm-ahub-byok: true
post:
description: 'Creates a new Mobile Smart Alert Configuration. '
operationId: createMobileAppAlertConfig
requestBody:
content:
application/json:
example:
name: 'HTTP Status Code(s): 5XX'
description: Occurrences of HTTP Status Code 5XX (Server Error) is above the expectation.
mobileAppId: tk2OLeusR3aQJD5h-rBh2A
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: statusCode
metricName: httpxxx
operator: STARTS_WITH
value: '5'
aggregation: SUM
threshold:
type: staticThreshold
operator: '>='
value: 5
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields: []
schema:
$ref: '#/components/schemas/MobileAppAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: 'HTTP Status Code(s): 5XX'
description: Occurrences of HTTP Status Code 5XX (Server Error) is above the expectation.
mobileAppId: tk2OLeusR3aQJD5h-rBh2A
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: statusCode
metricName: httpxxx
operator: STARTS_WITH
value: '5'
aggregation: SUM
threshold:
type: staticThreshold
operator: '>='
value: 5
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields: []
id: qOW5jlR5TQafXKWDIceRkA
created: 1707224011842
initialCreated: 1707224011842
readOnly: false
enabled: true
completeTagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: mobileBeacon.mobileApp.id
stringValue: tk2OLeusR3aQJD5h-rBh2A
numberValue: null
booleanValue: null
key: null
value: tk2OLeusR3aQJD5h-rBh2A
operator: EQUALS
entity: NOT_APPLICABLE
- type: TAG_FILTER
name: mobileBeacon.http.status
stringValue: '5'
numberValue: null
booleanValue: null
key: null
value: '5'
operator: STARTS_WITH
entity: NOT_APPLICABLE
schema:
$ref: '#/components/schemas/WithMetadata'
description: Mobile Smart Alert Configuration created.
'400':
description: Invalid Configuration.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable entity.
security:
- ApiKeyAuth:
- CanConfigureMobileAppSmartAlerts
summary: Create Mobile Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/mobile-app-alert-configs/{id}':
delete:
description: Deletes a Mobile Smart Alert Configuration
operationId: deleteMobileAppAlertConfig
parameters:
- description: ID of a specific Mobile Smart Alert Configuration to delete.
example: qOW5jlR5TQafXKWDIceRkA
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Mobile Smart Alert Configuration deleted.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureMobileAppSmartAlerts
summary: Delete Mobile Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
get:
description: Gets a specific Mobile Smart Alert Configuration. This may return a deleted Configuration.
operationId: findMobileAppAlertConfig
parameters:
- description: ID of a specific Mobile Smart Alert Configuration to retrieve
example: qOW5jlR5TQafXKWDIceRkA
in: path
name: id
required: true
schema:
type: string
- description: 'A Unix timestamp representing a specific time the Configuration was active. If no timestamp is provided, the latest active version will be retrieved. '
example: 1722877985000
in: query
name: validOn
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
name: 'HTTP Status Code(s): 5XX'
description: Occurrences of HTTP Status Code 5XX (Server Error) is above the expectation.
mobileAppId: tk2OLeusR3aQJD5h-rBh2A
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: statusCode
metricName: httpxxx
operator: STARTS_WITH
value: '5'
aggregation: SUM
threshold:
type: staticThreshold
operator: '>='
value: 5
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields: []
id: qOW5jlR5TQafXKWDIceRkA
created: 1707224011842
initialCreated: 1707224011842
readOnly: false
enabled: true
completeTagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: mobileBeacon.mobileApp.id
stringValue: tk2OLeusR3aQJD5h-rBh2A
numberValue: null
booleanValue: null
key: null
value: tk2OLeusR3aQJD5h-rBh2A
operator: EQUALS
entity: NOT_APPLICABLE
- type: TAG_FILTER
name: mobileBeacon.http.status
stringValue: '5'
numberValue: null
booleanValue: null
key: null
value: '5'
operator: STARTS_WITH
entity: NOT_APPLICABLE
schema:
$ref: '#/components/schemas/WithMetadata'
description: OK
'403':
description: Insufficient permissions.
'404':
description: The requested Configuration does not exist.
security:
- ApiKeyAuth:
- CanConfigureMobileAppSmartAlerts
summary: Get Mobile Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
post:
description: 'Updates an existing Mobile Smart Alert Configuration. '
operationId: updateMobileAppAlertConfig
parameters:
- description: ID of a specific Mobile Smart Alert Configuration to update.
example: qOW5jlR5TQafXKWDIceRkA
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
name: 'HTTP Status Code(s): 5XX'
description: Occurrences of HTTP Status Code 5XX (Server Error) is above the expectation.
mobileAppId: tk2OLeusR3aQJD5h-rBh2A
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: statusCode
metricName: httpxxx
operator: STARTS_WITH
value: '5'
aggregation: SUM
threshold:
type: staticThreshold
operator: '>='
value: 5
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields: []
schema:
$ref: '#/components/schemas/MobileAppAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: 'HTTP Status Code(s): 5XX'
description: Occurrences of HTTP Status Code 5XX (Server Error) is above the expectation.
mobileAppId: tk2OLeusR3aQJD5h-rBh2A
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: statusCode
metricName: httpxxx
operator: STARTS_WITH
value: '5'
aggregation: SUM
threshold:
type: staticThreshold
operator: '>='
value: 5
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields: []
id: qOW5jlR5TQafXKWDIceRkA
created: 1707224011842
initialCreated: 1707224011842
readOnly: false
enabled: true
completeTagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: mobileBeacon.mobileApp.id
stringValue: tk2OLeusR3aQJD5h-rBh2A
numberValue: null
booleanValue: null
key: null
value: tk2OLeusR3aQJD5h-rBh2A
operator: EQUALS
entity: NOT_APPLICABLE
- type: TAG_FILTER
name: mobileBeacon.http.status
stringValue: '5'
numberValue: null
booleanValue: null
key: null
value: '5'
operator: STARTS_WITH
entity: NOT_APPLICABLE
schema:
$ref: '#/components/schemas/WithMetadata'
description: Mobile Smart Alert Configuration updated.
'204':
description: Mobile Smart Alert Configuration did not change.
'400':
description: Invalid Mobile App ID provided.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable entity.
'500':
description: Internal error.
security:
- ApiKeyAuth:
- CanConfigureMobileAppSmartAlerts
summary: Update Mobile Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/mobile-app-alert-configs/{id}/disable':
put:
description: Disables a Mobile Smart Alert Configuration.
operationId: disableMobileAppAlertConfig
parameters:
- description: ID of a specific Mobile Smart Alert Configuration to disable.
example: qOW5jlR5TQafXKWDIceRkA
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Mobile Smart Alert Configuration disabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureMobileAppSmartAlerts
summary: Disable Mobile Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/mobile-app-alert-configs/{id}/enable':
put:
description: Enables a Mobile Smart Alert Configuration.
operationId: enableMobileAppAlertConfig
parameters:
- description: ID of a specific Mobile Smart Alert Configuration to enable.
example: qOW5jlR5TQafXKWDIceRkA
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Mobile Smart Alert Configuration enabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureMobileAppSmartAlerts
summary: Enable Mobile Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/mobile-app-alert-configs/{id}/restore/{created}':
put:
description: Restores a Mobile Smart Alert Configuration.
operationId: restoreMobileAppAlertConfig
parameters:
- description: ID of a specific Mobile Smart Alert Configuration to restore.
example: qOW5jlR5TQafXKWDIceRkA
in: path
name: id
required: true
schema:
type: string
- description: Unix timestamp representing the creation time of a specific Mobile Smart Alert Configuration.
example: 1707726529124
in: path
name: created
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Mobile Smart Alert Configuration restored.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration provided.
security:
- ApiKeyAuth:
- CanConfigureMobileAppSmartAlerts
summary: Restore Mobile Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/mobile-app-alert-configs/{id}/update-baseline':
post:
description: Recalculates and updates the historic baseline (static seasonal threshold) of a Configuration. The `LastUpdated` field of the Configuration is changed to the current time.
operationId: updateMobileAppHistoricBaseline
parameters:
- description: ID of a specific Mobile Smart Alert Configuration to recalculate.
example: qOW5jlR5TQafXKWDIceRkA
in: path
name: id
required: true
schema:
type: string
responses:
'200':
description: Mobile Smart Alert Configuration baseline successfully recalculated and updated.
'204':
description: Baseline recalculation completed with no changes needed.
'400':
description: Invalid configuration type or configuration is read-only.
'403':
description: Insufficient permissions to access this configuration.
'404':
description: Mobile Smart Alert Configuration not found.
'428':
description: Baseline calculation failed due to insufficient data.
security:
- ApiKeyAuth:
- CanConfigureMobileAppSmartAlerts
summary: Recalculate Mobile Smart Alert Config Baseline
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/mobile-app-alert-configs/{id}/versions':
get:
description: Gets all versions of a Mobile Smart Alert Configuration. This may return deleted Configurations. Configurations are sorted by creation date in descending order.
operationId: findMobileAppAlertConfigVersions
parameters:
- description: ID of a specific Mobile Smart Alert Configuration to retrieve.
example: qOW5jlR5TQafXKWDIceRkA
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: qOW5jlR5TQafXKWDIceRkA
created: 1706686318650
enabled: true
deleted: false
changeSummary:
changeType: CREATE
author:
id: 5ee8a3e8cd70020001ecb007
type: USER
fullName: Stan
schema:
type: array
items:
$ref: '#/components/schemas/ConfigVersion'
description: OK
'403':
description: Insufficient permissions.
'404':
description: The requested Configuration does not exist.
security:
- ApiKeyAuth:
- CanConfigureMobileAppSmartAlerts
summary: Get Mobile Smart Alert Config Versions
tags:
- Event Settings
x-ibm-ahub-byok: true
/api/events/settings/website-alert-configs:
get:
description: Gets all the Website Smart Alert Configuration pertaining to a specific website. Configurations are sorted by creation date in descending order.
operationId: findActiveWebsiteAlertConfigs
parameters:
- description: The ID of a specific Website
example: XIZGGVT1TX2O-0OFeT2Yig
in: query
name: websiteId
required: true
schema:
type: string
- description: A list of Smart Alert Configuration IDs. This allows fetching of a specific set of Configurations. This query can be repeated to use multiple IDs.
example: smRTFp08juKWtn8I
in: query
name: alertIds
schema:
type: array
items:
type: string
maxItems: 1000
minItems: 0
uniqueItems: true
responses:
'200':
content:
application/json:
example:
- name: onLoad Time (90th) is too high
description: The onLoad Time (90th) is above the expectation.
websiteId: XIZGGVT1TX2O-0OFeT2Yig
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: slowness
metricName: onLoadTime
aggregation: P90
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 239.164
- 6.1026
- - 600000
- 240.0013
- 7.4109
- - 85200000
- 241.3653
- 3
- - 85800000
- 239.4759
- 3.9012
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields:
- type: staticString
key: '1'
value: '2'
- type: dynamic
key: '2'
value:
tagName: beacon.website.name
key: null
id: G-h5p0znTHan2m2U3c-Z1Q
created: 1707726529124
initialCreated: 1707726529124
readOnly: false
enabled: true
schema:
type: array
items:
$ref: '#/components/schemas/WebsiteAlertConfigWithMetadata'
description: Success. Returns empty result if websiteId is invalid.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureWebsiteSmartAlerts
summary: Get all Website Smart Alert Configs
tags:
- Event Settings
x-ibm-ahub-byok: true
post:
description: Creates a new Website Smart Alert Configuration.
operationId: createWebsiteAlertConfig
requestBody:
content:
application/json:
example:
name: onLoad Time (90th) is too high
description: The onLoad Time (90th) is above the expectation.
websiteId: XIZGGVT1TX2O-0OFeT2Yig
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: slowness
metricName: onLoadTime
aggregation: P90
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 239.164
- 6.1026
- - 600000
- 240.0013
- 7.4109
- - 85200000
- 241.3653
- 3
- - 85800000
- 239.4759
- 3.9012
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields:
- type: staticString
key: '1'
value: '2'
- type: dynamic
key: '2'
value:
tagName: beacon.website.name
key: null
schema:
$ref: '#/components/schemas/WebsiteAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: onLoad Time (90th) is too high
description: The onLoad Time (90th) is above the expectation.
websiteId: XIZGGVT1TX2O-0OFeT2Yig
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: slowness
metricName: onLoadTime
aggregation: P90
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 239.164
- 6.1026
- - 600000
- 240.0013
- 7.4109
- - 85200000
- 241.3653
- 3
- - 85800000
- 239.4759
- 3.9012
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields:
- type: staticString
key: '1'
value: '2'
- type: dynamic
key: '2'
value:
tagName: beacon.website.name
key: null
id: G-h5p0znTHan2m2U3c-Z1Q
created: 1707726529124
initialCreated: 1707726529124
readOnly: false
enabled: true
schema:
$ref: '#/components/schemas/WebsiteAlertConfigWithMetadata'
description: Website Smart Alert Configuration created.
'400':
description: Invalid configuration.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable entity.
'428':
description: Baseline calculation failed due to insufficient data.
security:
- ApiKeyAuth:
- CanConfigureWebsiteSmartAlerts
summary: Create Website Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/website-alert-configs/{id}':
delete:
description: Deletes a Website Smart Alert Configuration.
operationId: deleteWebsiteAlertConfig
parameters:
- description: ID of a specific Website Smart Alert Configuration to delete.
example: G-h5p0znTHan2m2U3c-Z1Q
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Website Smart Alert Configuration deleted.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureWebsiteSmartAlerts
summary: Delete Website Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
get:
description: Gets a specific Website Smart Alert Configuration. This may return a deleted Configuration.
operationId: findWebsiteAlertConfig
parameters:
- description: ID of a specific Website Smart Alert Configuration to retrieve.
example: G-h5p0znTHan2m2U3c-Z1Q
in: path
name: id
required: true
schema:
type: string
- description: 'A Unix timestamp representing a specific time the config was active. If no timestamp is provided, the latest active version will be retrieved. '
example: 1722877985000
in: query
name: validOn
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
name: onLoad Time (90th) is too high
description: The onLoad Time (90th) is above the expectation.
websiteId: XIZGGVT1TX2O-0OFeT2Yig
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: slowness
metricName: onLoadTime
aggregation: P90
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 239.164
- 6.1026
- - 600000
- 240.0013
- 7.4109
- - 85200000
- 241.3653
- 3
- - 85800000
- 239.4759
- 3.9012
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields:
- type: staticString
key: '1'
value: '2'
- type: dynamic
key: '2'
value:
tagName: beacon.website.name
key: null
id: G-h5p0znTHan2m2U3c-Z1Q
created: 1707726529124
initialCreated: 1707726529124
readOnly: false
enabled: true
schema:
$ref: '#/components/schemas/WebsiteAlertConfigWithMetadata'
description: OK
'403':
description: Insufficient permissions.
'404':
description: The requested configuration does not exist.
security:
- ApiKeyAuth:
- CanConfigureWebsiteSmartAlerts
summary: Get Website Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
post:
description: Updates an existing Website Smart Alert Configuration.
operationId: updateWebsiteAlertConfig
parameters:
- description: ID of a specific Website Smart Alert Configuration to update.
example: G-h5p0znTHan2m2U3c-Z1Q
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
name: onLoad Time (90th) is too high
description: The onLoad Time (90th) is above the expectation.
websiteId: XIZGGVT1TX2O-0OFeT2Yig
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: slowness
metricName: onLoadTime
aggregation: P90
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 239.164
- 6.1026
- - 600000
- 240.0013
- 7.4109
- - 85200000
- 241.3653
- 3
- - 85800000
- 239.4759
- 3.9012
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields:
- type: staticString
key: '1'
value: '2'
- type: dynamic
key: '2'
value:
tagName: beacon.website.name
key: null
schema:
$ref: '#/components/schemas/WebsiteAlertConfig'
required: true
responses:
'200':
content:
application/json:
example:
name: onLoad Time (90th) is too high
description: The onLoad Time (90th) is above the expectation.
websiteId: XIZGGVT1TX2O-0OFeT2Yig
severity: 5
triggering: false
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
rule:
alertType: slowness
metricName: onLoadTime
aggregation: P90
threshold:
type: historicBaseline
operator: '>='
seasonality: DAILY
baseline:
- - 0
- 239.164
- 6.1026
- - 600000
- 240.0013
- 7.4109
- - 85200000
- 241.3653
- 3
- - 85800000
- 239.4759
- 3.9012
deviationFactor: 3
lastUpdated: 0
alertChannelIds: []
granularity: 600000
timeThreshold:
type: violationsInSequence
timeWindow: 600000
customPayloadFields:
- type: staticString
key: '1'
value: '2'
- type: dynamic
key: '2'
value:
tagName: beacon.website.name
key: null
id: G-h5p0znTHan2m2U3c-Z1Q
created: 1707726529124
initialCreated: 1707726529124
readOnly: false
enabled: true
schema:
$ref: '#/components/schemas/WebsiteAlertConfigWithMetadata'
description: Website Smart Alert Configuration updated.
'204':
description: Website Smart Alert Configuration did not change.
'400':
description: Invalid Configuration ID provided.
'403':
description: Insufficient permissions.
'404':
description: The requested configuration does not exist.
'422':
description: Unprocessable entity.
'428':
description: Baseline calculation failed due to insufficient data.
'500':
description: Internal error.
security:
- ApiKeyAuth:
- CanConfigureWebsiteSmartAlerts
summary: Update Website Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/website-alert-configs/{id}/disable':
put:
description: Disables a Website Smart Alert Configuration.
operationId: disableWebsiteAlertConfig
parameters:
- description: ID of a specific Website Smart Alert Configuration to disable.
example: G-h5p0znTHan2m2U3c-Z1Q
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Website Smart Alert Configuration disabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureWebsiteSmartAlerts
summary: Disable Website Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/website-alert-configs/{id}/enable':
put:
description: Enables a website alert configuration.
operationId: enableWebsiteAlertConfig
parameters:
- description: ID of a specific Website Smart Alert Configuration to enable.
example: G-h5p0znTHan2m2U3c-Z1Q
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Website Smart Alert Configuration enabled.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration ID provided.
security:
- ApiKeyAuth:
- CanConfigureWebsiteSmartAlerts
summary: Enable Website Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/website-alert-configs/{id}/restore/{created}':
put:
description: Restores a deleted Website Smart Alert Configuration.
operationId: restoreWebsiteAlertConfig
parameters:
- description: ID of a specific Website Smart Alert Configuration to restore.
example: G-h5p0znTHan2m2U3c-Z1Q
in: path
name: id
required: true
schema:
type: string
- description: Unix timestamp representing the creation time of a specific Website Smart Alert Configuration.
example: 1707726529124
in: path
name: created
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
type: string
nullable: true
responses:
'204':
description: Website Smart Alert Configuration restored.
'403':
description: Insufficient permissions.
'404':
description: Invalid Configuration provided.
security:
- ApiKeyAuth:
- CanConfigureWebsiteSmartAlerts
summary: Restore Website Smart Alert Config
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/website-alert-configs/{id}/update-baseline':
post:
description: Recalculates and updates the historic baseline (static seasonal threshold) of a Configuration. The `LastUpdated` field of the Configuration is changed to the current time.
operationId: updateWebsiteHistoricBaseline
parameters:
- description: ID of a specific Website Smart Alert Configuration to recalculate.
example: G-h5p0znTHan2m2U3c-Z1Q
in: path
name: id
required: true
schema:
type: string
responses:
'200':
description: Website Smart Alert Configuration baseline successfully recalculated and updated.
'204':
description: Baseline recalculation completed with no changes needed.
'400':
description: Invalid configuration type or configuration is read-only.
'403':
description: Insufficient permissions to access this configuration.
'404':
description: Website Smart Alert Configuration not found.
'428':
description: Baseline calculation failed due to insufficient data.
security:
- ApiKeyAuth:
- CanConfigureWebsiteSmartAlerts
summary: Recalculate Website Smart Alert Config Baseline
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/settings/website-alert-configs/{id}/versions':
get:
description: Gets all versions of a Website Smart Alert Configuration. This may return deleted Configurations. Configurations are sorted by creation date in descending order.
operationId: findWebsiteAlertConfigVersions
parameters:
- description: ID of a specific Website Smart Alert Configuration to retrieve.
example: G-h5p0znTHan2m2U3c-Z1Q
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: G-h5p0znTHan2m2U3c-Z1Q
created: 1706709825308
enabled: true
deleted: false
changeSummary:
changeType: CREATE
author:
id: 5ee8a3e8cd70020001ecb007
type: USER
fullName: Stan
schema:
type: array
items:
$ref: '#/components/schemas/ConfigVersion'
description: OK
'403':
description: Insufficient permissions.
'404':
description: The requested Configuration does not exist.
security:
- ApiKeyAuth:
- CanConfigureWebsiteSmartAlerts
summary: 'Get Website Smart Alert Config Versions. '
tags:
- Event Settings
x-ibm-ahub-byok: true
'/api/events/{eventId}':
get:
description: Gets a specific event.
operationId: getEvent
parameters:
- description: ID of a specific Event to retrieve.
example: LZOGo1lXR4WeCB2ftgtGGQ
in: path
name: eventId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
eventId: LZOGo1lXR4WeCB2ftgtGGQ
start: 1706783553000
end: 1706783553000
type: change
state: closed
problem: Pulled
detail: 'Successfully pulled image "registry.redhat.io/redhat/redhat-marketplace-index:v4.14" in 830.603468ms (830.624088ms including waiting)'
severity: -2
entityName: Kubernetes Pod
entityLabel: openshift-marketplace/redhat-marketplace-qbn8f (pod)
entityType: INFRASTRUCTURE
fixSuggestion: 'Successfully pulled image "registry.redhat.io/redhat/redhat-marketplace-index:v4.14" in 830.603468ms (830.624088ms including waiting)'
snapshotId: xLziJivLyeepxBf0UnNR1ff-9MI
schema:
$ref: '#/components/schemas/EventResult'
description: OK
'404':
description: The requested event does not exist.
security:
- ApiKeyAuth:
- Default
summary: Get Event
tags:
- Events
x-ibm-ahub-byok: true
/api/host-agent:
get:
operationId: searchHostAgents
parameters:
- in: query
name: query
schema:
type: string
- in: query
name: to
schema:
type: integer
format: int64
- in: query
name: windowSize
schema:
type: integer
format: int64
- in: query
name: size
schema:
type: integer
format: int32
- in: query
name: offline
schema:
type: boolean
responses:
'200':
content:
application/json:
example: |2
{
"items": [
{
"snapshotId": "iRsnjcH9cls2rlx3wm8ENPapljk",
"plugin": "instanaAgent",
"from": 1706712590000,
"to": null,
"tags": [],
"label": "Instana Agent @ ip-10-255-207-205",
"host": "EC2-i-0a8be85269f7e2b92"
},
]
}
schema:
$ref: '#/components/schemas/SnapshotResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Query host agent snapshots
tags:
- Host Agent
x-ibm-ahub-byok: true
/api/host-agent/configuration:
post:
operationId: updateConfigurationByQuery
parameters:
- in: query
name: query
schema:
type: string
- in: query
name: to
schema:
type: integer
format: int64
- in: query
name: windowSize
schema:
type: integer
format: int64
- in: query
name: size
schema:
type: integer
format: int32
- in: query
name: offline
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgentConfigurationUpdate'
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- Default
- ApiKeyAuth:
- canConfigureAgents
summary: Update agent configuration by query
tags:
- Host Agent
x-ibm-ahub-byok: true
description: |+
This endpoint can be used to initialize or change configuration management settings for all agents selected by the given Dynamic Focus Query.
'/api/host-agent/{hostId}/clr-logs':
get:
operationId: getAgentClrLogs
parameters:
- in: path
name: hostId
required: true
schema:
type: string
- in: query
name: download
schema:
type: boolean
responses:
default:
content:
application/octet-stream: {}
description: default response
security:
- ApiKeyAuth:
- Default
- ApiKeyAuth:
- canConfigureAgents
summary: Agent CLR download logs
tags:
- Host Agent
x-ibm-ahub-byok: true
'/api/host-agent/{hostId}/configuration':
post:
operationId: updateConfigurationByHost
parameters:
- in: path
name: hostId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgentConfigurationUpdate'
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- Default
- ApiKeyAuth:
- canConfigureAgents
summary: Update agent configuration by host
tags:
- Host Agent
x-ibm-ahub-byok: true
description: |+
This endpoint can be used to initialize or change configuration management settings for a specific host agent.
'/api/host-agent/{hostId}/logs':
get:
operationId: getAgentLogs
parameters:
- in: path
name: hostId
required: true
schema:
type: string
- in: query
name: download
schema:
type: boolean
- in: query
name: file
required: true
schema:
type: array
items:
type: string
uniqueItems: true
responses:
default:
content:
application/octet-stream: {}
description: default response
security:
- ApiKeyAuth:
- Default
- ApiKeyAuth:
- canConfigureAgents
summary: Agent download logs
tags:
- Host Agent
x-ibm-ahub-byok: true
'/api/host-agent/{hostId}/support-info':
get:
operationId: getAgentSupportInformation
parameters:
- in: path
name: hostId
required: true
schema:
type: string
- in: query
name: supportInfoId
required: true
schema:
type: string
responses:
default:
content:
application/octet-stream: {}
description: default response
security:
- ApiKeyAuth:
- Default
- ApiKeyAuth:
- canConfigureAgents
summary: Agent download support information
tags:
- Host Agent
x-ibm-ahub-byok: true
'/api/host-agent/{hostId}/update':
post:
operationId: updateAgent
parameters:
- in: path
name: hostId
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- Default
- ApiKeyAuth:
- canConfigureAgents
summary: Agent update
tags:
- Host Agent
x-ibm-ahub-byok: true
'/api/host-agent/{id}':
get:
operationId: getAgentSnapshot
parameters:
- in: path
name: id
required: true
schema:
type: string
- in: query
name: to
schema:
type: integer
format: int64
- in: query
name: windowSize
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example: |2
{
"snapshotId": "snapshot id",
"plugin": "instanaAgent",
"from": 1706791431000,
"tags": [],
"label": "Instana Agent @ ip-10-255-207-205",
"entityId": {
"host": "EC2-i-0a8be85269f7e2b92",
"pluginId": "plugin id",
"steadyId": "self"
},
"data": {
"memory.nativeTotal": 134217728,
"capabilities": [
"gitops",
"logdownload",
"agentprofiler",
"agentSupportInfo",
{
"java-trace-commands": [
"get-agent-statistics",
"get-loader-statistics",
"get-tracer-statistics",
"get-instrumentation-install-messages",
"get-instrumentation-install-errors",
"get-instrumentation-runtime-errors",
"get-instrumented-classes",
"get-raw-matchers",
"get-weak-concurrent-maps",
"log-reset",
"log-trace-context",
"log-rejected",
"start-debug-tracer",
"stop-debug-tracer"
]
},
"log4j-safe-lib"
],
"origin": "public_docker",
"startedAt": 1705917107361,
"memory.total": 181805056,
"pid": "29001",
"mode": 2,
"hostname": "ip-10-255-207-205",
"java": {
"vmversion": "25.392-b08",
"version": "1.8.0_392",
"vmname": "vm name",
"vmvendor": "vendor name"
},
"git": {
"present": true,
"initialized": false
},
"hasCpuLoad": true,
"updateMode": "Auto",
"log.counts.byMessage": {
"?:?": "WARN ? "Can no longer query container metrics for k8s.io: 8ac777f1ca6231299050ee5482ecac6c1747b2545b3b1d890f69d0a849b3adb4 ... requesting sensor shutdown""
},
"loglevel": "INFO",
"agentVersion": "Latest",
"metrics": true,
"boot": "1.2.30",
"pids": [
"14096",
"19502",
"2001",
"29812",
"981",
"28411",
"29522",
"1267",
"2475",
"27182"
],
"user": "root",
"logAsRate": true
}
}
schema:
$ref: '#/components/schemas/SnapshotItem'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get host agent snapshot details
tags:
- Host Agent
x-ibm-ahub-byok: true
/api/infrastructure-monitoring/analyze/entities:
post:
description: |-
This endpoint retrieves entities for a given entity type along with the requested metrics.
For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze.
operationId: getEntities
requestBody:
content:
application/json:
examples:
This example retrieves a JVM entity labeled "custom-metrics.jar" with metrics for memory used and blocked threads (both using a one hour granularity and a one minute granularity).:
description: This example retrieves a JVM entity labeled "custom-metrics.jar" with metrics for memory used and blocked threads (both using a one hour granularity and a one minute granularity).
value:
tagFilterExpression:
type: TAG_FILTER
entity: NOT_APPLICABLE
name: label
operator: EQUALS
value: custom-metrics.jar
timeFrame:
to: 1673969562715
windowSize: 3600000
pagination:
retrievalSize: 200
type: jvmRuntimePlatform
metrics:
- metric: memory.used
granularity: 3600000
aggregation: MAX
- metric: memory.used
granularity: 600000
aggregation: MAX
- metric: threads.blocked
granularity: 3600000
aggregation: MEAN
- metric: threads.blocked
granularity: 600000
aggregation: MEAN
schema:
$ref: '#/components/schemas/GetInfrastructureQuery'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InfrastructureEntitiesResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get infrastructure entities
tags:
- Infrastructure Analyze
x-ibm-ahub-byok: true
/api/infrastructure-monitoring/analyze/entity-groups:
post:
description: |-
This endpoint groups entities for a given entity type and aggregates metrics for these groups.
For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze.
operationId: getEntityGroups
requestBody:
content:
application/json:
examples:
'This example retrieves JVM entities grouped with the same host name ordered by label, aggregating memory used and blocked threads (both using a one hour granularity and a one minute granularity).':
description: 'This example retrieves JVM entities grouped with the same host name ordered by label, aggregating memory used and blocked threads (both using a one hour granularity and a one minute granularity).'
value:
timeFrame:
to: 1674075565075
windowSize: 3600000
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
pagination:
retrievalSize: 20
groupBy:
- host.name
type: jvmRuntimePlatform
metrics:
- metric: memory.used
granularity: 3600000
aggregation: MEAN
- metric: memory.used
granularity: 600000
aggregation: MEAN
- metric: threads.blocked
granularity: 3600000
aggregation: MEAN
- metric: threads.blocked
granularity: 600000
aggregation: MEAN
order:
by: label
direction: ASC
schema:
$ref: '#/components/schemas/GetInfrastructureGroupsQuery'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InfrastructureGroupsResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get grouped infrastructure entities with aggregated metrics
tags:
- Infrastructure Analyze
x-ibm-ahub-byok: true
/api/infrastructure-monitoring/analyze/entity-types:
post:
description: |-
This endpoint retrieves available entity types.
For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze.
operationId: getAvailablePlugins
requestBody:
content:
application/json:
examples:
This example retrieves all entity types.:
description: This example retrieves all entity types.
value:
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
timeFrame:
to: 1673969562715
windowSize: 3600000
schema:
$ref: '#/components/schemas/GetAvailablePluginsQuery'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AvailablePlugins'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get available entity types
tags:
- Infrastructure Analyze
x-ibm-ahub-byok: true
/api/infrastructure-monitoring/analyze/metrics:
post:
description: |-
This endpoint retrieves available metrics for an entity type.
For more information on Infrastructure Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Infrastructure#infrastructure-analyze.
operationId: getAvailableMetrics
requestBody:
content:
application/json:
examples:
This example retrieves all available metrics for JVM entities.:
description: This example retrieves all available metrics for JVM entities.
value:
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
timeFrame:
to: 1673969562715
windowSize: 3600000
query: ''
type: jvmRuntimePlatform
schema:
$ref: '#/components/schemas/GetAvailableMetricsQuery'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AvailableMetrics'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get available metrics
tags:
- Infrastructure Analyze
x-ibm-ahub-byok: true
'/api/infrastructure-monitoring/catalog/metrics/{plugin}':
get:
operationId: getInfrastructureCatalogMetrics
parameters:
- in: path
name: plugin
required: true
schema:
type: string
- in: query
name: filter
schema:
type: string
- in: query
name: label
schema:
type: string
- in: query
name: limit
schema:
type: integer
format: int32
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MetricInstance'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get metric catalog
tags:
- Infrastructure Catalog
x-ibm-ahub-byok: true
description: |
This endpoint retrieves all available metric definitions of the requested plugin.
### Path Parameters:
**plugin** The plugin id from [available plugins](#operation/getInfrastructureCatalogPlugins)
### Optional Parameters:
**filter** You can restrict the returned metric definitions by passing a filter.
* `custom` to retrieve custom metric definitions only.
* `builtin` to retrieve built-in metric definitions only.
'/api/infrastructure-monitoring/catalog/payloads/{pluginId}':
get:
operationId: getAvailablePayloadKeysByPluginId
parameters:
- description: plugin id
example: db2Database
in: path
name: pluginId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GetPayloadKeysResult'
description: OK
links:
payload for snapshot:
operationId: getPluginPayload
parameters:
payloadKey: '$response.body#/[*]'
security:
- ApiKeyAuth:
- Default
summary: Get payload keys for plugin
tags:
- Infrastructure Catalog
x-ibm-ahub-byok: true
/api/infrastructure-monitoring/catalog/plugins:
get:
operationId: getInfrastructureCatalogPlugins
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PluginResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get plugin catalog
tags:
- Infrastructure Catalog
x-ibm-ahub-byok: true
description: |
This endpoint retrieves all available plugin ids for your monitored system.
/api/infrastructure-monitoring/catalog/plugins-with-custom-metrics:
get:
operationId: getInfrastructureCatalogPluginsWithCustomMetrics
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PluginResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get all plugins with custom metrics catalog
tags:
- Infrastructure Catalog
x-ibm-ahub-byok: true
/api/infrastructure-monitoring/catalog/search:
get:
operationId: getInfrastructureCatalogSearchFields
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SearchFieldResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: get search field catalog
tags:
- Infrastructure Catalog
x-ibm-ahub-byok: true
description: |
This endpoint retrieves all available search keywords for dynamic focus queries.
These search fields can be accessed via lucene queries. Each field belongs to a context, e.g. to entity, trace or event data.
Some fields contain a set of possible fixed values, in this case a deviant value is invalid.
```
?query={keyword}:{value}
```
/api/infrastructure-monitoring/catalog/tags:
get:
description: This endpoint retrieves the tag catalog.
operationId: getTagCatalogAll
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TagCatalog'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get available tags
tags:
- Infrastructure Catalog
x-ibm-ahub-byok: true
'/api/infrastructure-monitoring/catalog/tags/{plugin}':
get:
description: This endpoint retrieves the tag catalog filtered by plugin.
operationId: getTagCatalog
parameters:
- description: plugin
example: host
in: path
name: plugin
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TagCatalog'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get available tags for a particular plugin
tags:
- Infrastructure Catalog
x-ibm-ahub-byok: true
'/api/infrastructure-monitoring/graph/related-hosts/{snapshotId}':
get:
description: Gets the Related Hosts
operationId: getRelatedHosts
parameters:
- description: Snapshot ID running on the host
in: path
name: snapshotId
required: true
schema:
type: string
- description: Size of time window in milliseconds
in: query
name: windowSize
schema:
type: integer
format: int64
- description: Timestamp since Unix Epoch in milliseconds of the end of the time window
in: query
name: to
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
- ZoKkksp277FMLSXIghPKdjZcvfE
schema:
type: array
items:
type: string
description: Returns the snapshot ID of the hosts
security:
- ApiKeyAuth:
- Default
summary: Related hosts
tags:
- Infrastructure Topology
x-ibm-ahub-byok: true
/api/infrastructure-monitoring/metrics:
post:
operationId: getInfrastructureMetrics
parameters:
- in: query
name: offline
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetCombinedMetrics'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InfrastructureMetricResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get infrastructure metrics
tags:
- Infrastructure Metrics
x-ibm-ahub-byok: true
description: "- The **offline** parameter is used to allow deeper visibility into snapshots. Set to `false`, the query will return all snapshots that are still available on the given **to** timestamp. However, set to `true`, the query will return all snapshots that have been active within the time window, this must at least include the online result and snapshots terminated within this time.\r\n"
/api/infrastructure-monitoring/monitoring-state:
get:
description: 'This API endpoint retrieves the current monitoring state of the system, providing details about the number of monitored hosts and serverless entities. It responds with a JSON object containing this information.'
operationId: getMonitoringState
responses:
'200':
content:
application/json:
example:
hasEntities: true
hostCount: 122
serverlessCount: 7
schema:
$ref: '#/components/schemas/MonitoringState'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Monitored host count
tags:
- Infrastructure Resources
x-ibm-ahub-byok: true
'/api/infrastructure-monitoring/payloads/{snapshotId}/{payloadKey}':
get:
operationId: getPluginPayload
parameters:
- description: Snapshot id.
in: path
name: snapshotId
required: true
schema:
type: string
- description: 'Payload key. Use [getAvailablePayloadKeysByPluginId](/openapi/#operation/getAvailablePayloadKeysByPluginId) to retrieve the list of possible keys.'
example: topqueries
in: path
name: payloadKey
required: true
schema:
type: string
- description: End of timeframe expressed as the Unix epoch time in milliseconds.
example: 1689018652000
in: query
name: to
schema:
type: integer
format: int64
- description: Window size in milliseconds.
example: 3600000
in: query
name: windowSize
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
raw_payload:
- DEFERRED_VALUE: '64'
DEFERRED_VALUE_FLAGS: NONE
VALUE: '64'
NAME: app_ctl_heap_sz
VALUE_FLAGS: NONE
timestamp: 1707833086000
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get a payload for a snapshot
tags:
- Infrastructure Resources
x-ibm-ahub-byok: true
/api/infrastructure-monitoring/snapshots:
get:
operationId: getSnapshots
parameters:
- description: query to use to filter snapshot retrieval
example: 'entity.zone:myZone*'
in: query
name: query
schema:
type: string
- description: end of timeframe expressed as the Unix epoch time in milliseconds
example: 1689018652000
in: query
name: to
schema:
type: integer
format: int64
- description: windowSize in milliseconds
example: 3600000
in: query
name: windowSize
schema:
type: integer
format: int64
- description: maximum number of snapshots to retrieve
example: 100
in: query
name: size
schema:
type: integer
format: int32
- description: entity type
example: host
in: query
name: plugin
schema:
type: string
- description: 'retrieve snapshots which were online during the timeframe, otherwise, return only snapshot which were online at the end of the timeframe'
example: false
in: query
name: offline
schema:
type: boolean
responses:
'200':
content:
application/json:
example:
items:
- snapshotId: ZoKkksp277FMLSXIghPKdjZcvfE
plugin: host
from: 1706785156000
to: null
tags: []
label: ip-10-255-200-30.instana.io
host: EC2-i-03afb0ac5188f57f3
- snapshotId: ONRQyD-iztZX6QS9QnjKbFFy-oI
plugin: host
from: 1706756437000
to: null
tags: []
label: ip-10-255-218-45.instana.io
host: EC2-i-091cba86bac58cc77
- snapshotId: 0GvRrdko-0Ds9OWPzJVEm0j0vTA
plugin: host
from: 1706785131000
to: null
tags: []
label: ip-10-255-203-60.instana.io
host: EC2-i-0d2743935b9596c85
schema:
$ref: '#/components/schemas/SnapshotResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Search snapshots
tags:
- Infrastructure Resources
x-ibm-ahub-byok: true
description: "These APIs can be used to retrieve information about hosts, processes, JVMs and other entities that we are calling snapshots. A snapshot represents static information about an entity as it was at a specific point in time. To clarify:\r\n**Static information** is any information which is seldom changing, e.g. process IDs, host FQDNs or a list of host hard disks. The counterpart to static information are metrics which have a much higher change rate, e.g. host CPU usage or JVM garbage collection activity. Snapshots only contain static information.\r\n- Snapshots are **versioned** and represent an entity's state for a specific point in time. While snapshots only contain static information, even that information may change. For example you may add another hard disk to a server. For such a change, a new snapshot would be created.\r\n- The **size** parameter can be used in order to limit the maximum number of retrieved snapshots.\r\n- The **offline** parameter is used to allow deeper visibility into snapshots. Set to `false`, the query will return all snapshots that are still available on the given **to** timestamp. However, set to `true`, the query will return all snapshots that have been active within the time window, this must at least include the online result and snapshots terminated within this time.\r\n"
post:
description: This endpoint retrieves detail information for one or more snapshots. timeFrame defaults to the last 10 minutes if not specified.
operationId: postSnapshots
requestBody:
content:
application/json:
examples:
This example retrieves the detail information for two snapshots.:
description: This example retrieves the detail information for two snapshots.
value:
snapshotIds:
- AB3DeFGHIJkLm9OpQrstUVwxY_z
- ZY4XwVUTSRqPo8MlKjihGFedC_a
timeFrame:
to: 1689018652000
windowSize: 3600000
schema:
$ref: '#/components/schemas/GetSnapshotsQuery'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PostSnapshotsResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get snapshot details for multiple snapshots
tags:
- Infrastructure Resources
x-ibm-ahub-byok: true
'/api/infrastructure-monitoring/snapshots/{id}':
get:
description: Get all snapshot information
operationId: getSnapshot
parameters:
- description: snapshot id
in: path
name: id
required: true
schema:
type: string
- description: end of timeframe expressed as the Unix epoch time in milliseconds
example: 1689018652000
in: query
name: to
schema:
type: integer
format: int64
- description: windowSize in milliseconds
example: 3600000
in: query
name: windowSize
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
snapshotId: ZoKkksp277FMLSXIghPKdjZcvfE
plugin: host
from: 1706785156000
tags: []
label: ip-10-255-200-30.instana.io
entityId:
host: EC2-i-03afb0ac5188f57f3
pluginId: com.instana.forge.infrastructure.os.host.Host
steadyId: h
data:
interfaces:
eth0:
addresses:
- subnet: 10.255.200.0
fqdn:
- 10-255-200-30.instana-agent-headless.instana-agent.svc.cluster.local
- 10-255-200-30.instana-agent.instana-agent.svc.cluster.local
- 10-255-200-30.prometheus-prometheus-node-exporter.prometheus.svc.cluster.local
ip: 10.255.200.30
mac: '06:00:E9:32:99:C5'
eth1:
addresses:
- subnet: 10.255.200.0
ip: 10.255.205.14
mac: '06:93:A2:5B:97:D9'
cpu.model: AMD EPYC 7R13 Processor
fqdn: ip-10-255-200-30.instana.io
bootId: 3b7e2fe9-7cff-42bb-9879-6b856582fa27
os.arch: amd64
start: 1694791889000
memory.total: 65994727424
openFiles.max: 6441978
filesystems:
/dev/nvme0n1p1:
options: 'rw,noatime,attr2,inode64,logbufs=8,logbsize=32k,noquota'
mounts:
- /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/configuration/instana-agent/11
- /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/configuration/instana-agent/14
- /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/additional-backend-2/instana-agent/12
- /var/lib/kubelet/pods/dc320aef-ef0e-499a-8eb2-56cb454c22d6/volume-subpaths/additional-backend-3/instana-agent/13
- /
systype: xfs
icapacity: 28180816
mount: /
capacity: 83873772
os.version: 5.10.186-179.751.amzn2.x86_64
tags: []
cpu.count: 8
hostname: ip-10-255-200-30
machineId: ec2f95ff87a4a46d4672835afb9e2bb5
systemSerialNumber: ec2f95ff-87a4-a46d-4672-835afb9e2bb5
os.name: Linux
schema:
$ref: '#/components/schemas/SnapshotItem'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get snapshot details
tags:
- Infrastructure Resources
x-ibm-ahub-byok: true
/api/infrastructure-monitoring/software/versions:
get:
description: |-
Retrieve information about the software that are sensed by the agent remotely, natively, or both. This includes runtime and package manager information.
The `plugin`, `name`, `version`, `discoveryType`, `softwareType` and `vendor` parameters are optional filters that can be used to reduce the result data set.
The `snapshotId` in `usedBy` is either of host or container, if available
operationId: softwareVersions
parameters:
- description: Timeframe expressed as the Unix epoch time in milliseconds
in: query
name: time
schema:
type: integer
format: int64
- description: Filter on discoveryType
example: NATIVE_SENSOR
in: query
name: discoveryType
schema:
type: string
enum:
- NATIVE_SENSOR
- REMOTE_SENSOR
- PACKAGE_MANAGER
- OTHER
- description: Filter on softwareType
example: DEPENDENCY
in: query
name: softwareType
schema:
type: string
enum:
- DEPENDENCY
- RUNTIME
- DATABASE
- MESSAGING
- PLATFORM
- PACKAGE
- OS
- CACHE
- API_GATEWAY
- OTHER
- APPLICATION_FRAMEWORK
- description: Filter on this software name
in: query
name: name
schema:
type: string
- description: Filter on this plugin
in: query
name: plugin
schema:
type: string
- description: Filter on this version
in: query
name: version
schema:
type: string
- description: Filter on this vendor
in: query
name: vendor
schema:
type: string
responses:
'200':
content:
application/json:
example: |
[
{
"name": "errno",
"plugin": "nodeJsRuntimePlatform",
"version": "0.1.8",
"discoveryType": "NATIVE_SENSOR",
"softwareType": "DEPENDENCY",
"vendor": "",
"metadata": {},
"usedBy": [
{
"host": "instana-centos1.fyre.ibm.com",
"container": null,
"process": "instana-payload-simulator v1.0.0",
"snapshotId": "nQHb946M0I_rzRNuTFLVVSUorr8"
}
]
},
{
"name": "OpenJDK 64-Bit Server VM",
"plugin": "jvmRuntimePlatform"
"version": "17.0.1",
"discoveryType": "NATIVE_SENSOR",
"softwareType": "RUNTIME",
"vendor": "Azul Systems, Inc.",
"metadata": {},
"usedBy": [
{
"host": "lima-rancher-desktop",
"container": "elasticsearch/elasticsearch:7.16.2",
"process": "docker-cluster: 0c930ef6c5af",
"snapshotId": "cn06irROoHrvrDEa4fWw9vD6yhc"
}
]
}
]
schema:
type: array
items:
$ref: '#/components/schemas/SoftwareVersion'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get installed software
tags:
- Infrastructure Resources
x-ibm-ahub-byok: true
/api/infrastructure-monitoring/topology:
get:
operationId: getTopology
parameters:
- description: Include snapshot data in nodes
in: query
name: includeData
schema:
type: boolean
responses:
'200':
content:
application/json:
example:
nodes:
- id: nYlAch5BEuXdyzQ1Q1V3QvW9jpY
plugin: kubernetesPod
label: openshift-console/downloads-6b8f4d6dfc-zv2tx (pod)
entityId:
host: ''
pluginId: com.instana.forge.infrastructure.paas.kubernetes.derivedentity.pod.KubernetesPod
steadyId: b3e550f4-5754-4388-bd44-025ecd9f057e
edges:
- source: i5wh2JGMSHMiSt_TH2sHo1rNLaQ
destination: k67B5nn-7mpx6i0oCEiIWvP46ko
relation: in
schema:
$ref: '#/components/schemas/Topology'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Gets the infrastructure topology
tags:
- Infrastructure Topology
x-ibm-ahub-byok: true
/api/instana/health:
get:
operationId: getHealthState
responses:
'200':
content:
application/json:
example:
health: GREEN
messages: []
schema:
$ref: '#/components/schemas/HealthState'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Basic health traffic light
tags:
- Health
x-ibm-ahub-byok: true
description: |
The returned JSON object will provide a health property which contains a simple traffic light (GREEN/YELLO/RED). For any non-Green-state a list
of reasons will be provided in the messages array.
Possible messages:
* No data being processed
* No data arriving from agents
/api/instana/usage/api:
get:
operationId: getAllUsage
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UsageResult'
description: OK
security:
- ApiKeyAuth:
- CanViewAccountAndBillingInformation
summary: API usage by customer
tags:
- Usage
x-ibm-ahub-byok: true
'/api/instana/usage/api/{day}/{month}/{year}':
get:
operationId: getUsagePerDay
parameters:
- in: path
name: day
required: true
schema:
type: integer
format: int32
- in: path
name: month
required: true
schema:
type: integer
format: int32
- in: path
name: year
required: true
schema:
type: integer
format: int32
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UsageResult'
description: OK
security:
- ApiKeyAuth:
- CanViewAccountAndBillingInformation
summary: API usage day / month / year
tags:
- Usage
x-ibm-ahub-byok: true
'/api/instana/usage/api/{month}/{year}':
get:
operationId: getUsagePerMonth
parameters:
- in: path
name: month
required: true
schema:
type: integer
format: int32
- in: path
name: year
required: true
schema:
type: integer
format: int32
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UsageResult'
description: OK
security:
- ApiKeyAuth:
- CanViewAccountAndBillingInformation
summary: API usage month / year
tags:
- Usage
x-ibm-ahub-byok: true
'/api/instana/usage/hosts/{day}/{month}/{year}':
get:
operationId: getHostsPerDay
parameters:
- in: path
name: day
required: true
schema:
type: integer
format: int32
- in: path
name: month
required: true
schema:
type: integer
format: int32
- in: path
name: year
required: true
schema:
type: integer
format: int32
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UsageResult'
description: OK
security:
- ApiKeyAuth:
- CanViewAccountAndBillingInformation
summary: Host count day / month / year
tags:
- Usage
x-ibm-ahub-byok: true
'/api/instana/usage/hosts/{month}/{year}':
get:
operationId: getHostsPerMonth
parameters:
- in: path
name: month
required: true
schema:
type: integer
format: int32
- in: path
name: year
required: true
schema:
type: integer
format: int32
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UsageResult'
description: OK
security:
- ApiKeyAuth:
- CanViewAccountAndBillingInformation
summary: Host count month / year
tags:
- Usage
x-ibm-ahub-byok: true
/api/instana/version:
get:
operationId: getVersion
responses:
'200':
content:
application/json:
example:
branch: develop
commit: 862420fa8696bd5106224f340a1f93d3c7d86409
imageTag: 3.267.99-0
schema:
$ref: '#/components/schemas/InstanaVersionInfo'
description: OK
security:
- ApiKeyAuth:
- Default
summary: API version information
tags:
- Health
x-ibm-ahub-byok: true
/api/llm/capabilities:
get:
description: Retrieve all available LLM capabilities.
operationId: getLLMCapabilities
responses:
'200':
content:
application/json:
schema:
type: array
items:
type: string
enum:
- INCIDENT_INVESTIGATION
- INCIDENT_SUMMARIZATION
- AI_ASSISTANT
- MANUAL_ACTION_GENERATION
- SCRIPT_GENERATION
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth: []
summary: Get all LLM capabilities
tags:
- AI Management
x-ibm-ahub-byok: true
/api/llm/egress/handler:
get:
description: Retrieve all LLM gateways. Optionally filter by enabled status or capability.
operationId: getLLMEgressGateways
parameters:
- description: Filter by enabled status (true/false)
in: query
name: enabled
schema:
type: boolean
- description: Filter by capability name
in: query
name: capability
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: a14700b0-401b-47eb-a751-deda0035fde3
name: Example LLM egress Handler
description: This is a sample custom handler used for testing.
aiModel: watsonx-gpt-4
supports:
capabilities:
- anomaly-detection
- remediation
metadata:
source: user
version: 1.0.0
endpointUrl: 'https://example.com/handler'
endpointApiKey: secret-api-key
watsonxKey: watsonx-123
watsonxProject: project-xyz
watsonxUrl: 'https://watsonx.example.com'
instanaAgents:
agents:
- agent-1
- agent-2
createdAt: 2024-05-01T10:00:00.000Z
modifiedAt: 2024-05-02T15:30:00.000Z
schema:
type: array
items:
$ref: '#/components/schemas/LLMEgressGateway'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth: []
summary: Get all LLM gateways
tags:
- AI Management
x-ibm-ahub-byok: true
post:
description: Create a new LLM gateway
operationId: addLLMEgressGateway
requestBody:
content:
application/json:
example:
name: Example LLM egress Handler
description: This is a sample custom handler used for testing.
aiModel: watsonx-gpt-4
supports:
capabilities:
- anomaly-detection
- remediation
metadata:
source: user
version: 1.0.0
endpointUrl: 'https://example.com/handler'
endpointApiKey: secret-api-key
watsonxKey: watsonx-123
watsonxProject: project-xyz
watsonxUrl: 'https://watsonx.example.com'
instanaAgents:
agents:
- agent-1
- agent-2
schema:
$ref: '#/components/schemas/LLMEgressGateway'
required: true
responses:
'200':
content:
application/json:
example:
id: a14700b0-401b-47eb-a751-deda0035fde3
name: Example LLM egress Handler
description: This is a sample custom handler used for testing.
aiModel: watsonx-gpt-4
supports:
capabilities:
- anomaly-detection
- remediation
metadata:
source: user
version: 1.0.0
endpointUrl: 'https://example.com/handler'
endpointApiKey: secret-api-key
watsonxKey: watsonx-123
watsonxProject: project-xyz
watsonxUrl: 'https://watsonx.example.com'
instanaAgents:
agents:
- agent-1
- agent-2
schema:
$ref: '#/components/schemas/LLMEgressGateway'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureLLM
summary: Create a new LLM gateway
tags:
- AI Management
x-ibm-ahub-byok: true
'/api/llm/egress/handler/{id}':
delete:
description: Delete a LLM egress gateway by ID.
operationId: deleteLLMEgressGateway
parameters:
- description: LLM gateway ID
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureLLM
summary: Delete a LLM egress gateway
tags:
- AI Management
x-ibm-ahub-byok: true
get:
description: Retrieve a LLM gateway by ID.
operationId: getLLMEgressGatewayById
parameters:
- description: LLM gateway ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: a14700b0-401b-47eb-a751-deda0035fde3
name: Example LLM egress Handler
description: This is a sample custom handler used for testing.
aiModel: watsonx-gpt-4
supports:
capabilities:
- anomaly-detection
- remediation
metadata:
source: user
version: 1.0.0
endpointUrl: 'https://example.com/handler'
endpointApiKey: secret-api-key
watsonxKey: watsonx-123
watsonxProject: project-xyz
watsonxUrl: 'https://watsonx.example.com'
instanaAgents:
agents:
- agent-1
- agent-2
createdAt: 2024-05-01T10:00:00.000Z
modifiedAt: 2024-05-02T15:30:00.000Z
schema:
$ref: '#/components/schemas/LLMEgressGateway'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get a LLM gateway by ID
tags:
- AI Management
x-ibm-ahub-byok: true
put:
description: Update an existing LLM gateway by ID.
operationId: updateLLMEgressGateway
parameters:
- description: LLM gateway ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
name: Example LLM egress Handler
description: This is a sample custom handler used for testing.
aiModel: watsonx-gpt-4
supports:
capabilities:
- anomaly-detection
- remediation
metadata:
source: user
version: 1.0.0
endpointUrl: 'https://example.com/handler'
endpointApiKey: secret-api-key
watsonxKey: watsonx-123
watsonxProject: project-xyz
watsonxUrl: 'https://watsonx.example.com'
instanaAgents:
agents:
- agent-1
- agent-2
schema:
$ref: '#/components/schemas/LLMEgressGateway'
required: true
responses:
'200':
content:
application/json:
example:
id: a14700b0-401b-47eb-a751-deda0035fde3
name: Example LLM egress Handler
description: This is a sample custom handler used for testing.
aiModel: watsonx-gpt-4
supports:
capabilities:
- anomaly-detection
- remediation
metadata:
source: user
version: 1.0.0
endpointUrl: 'https://example.com/handler'
endpointApiKey: secret-api-key
watsonxKey: watsonx-123
watsonxProject: project-xyz
watsonxUrl: 'https://watsonx.example.com'
instanaAgents:
agents:
- agent-1
- agent-2
schema:
$ref: '#/components/schemas/LLMEgressGateway'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureLLM
summary: Update an existing LLM gateway.
tags:
- AI Management
x-ibm-ahub-byok: true
'/api/llm/egress/handler/{id}/enable':
put:
description: Enable a LLM gateway by ID. Any other enabled gateway for the same capability will be automatically disabled.
operationId: enableLLMEgressGateway
parameters:
- description: LLM gateway ID
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureLLM
summary: Set the enabled status of a LLM gateway
tags:
- AI Management
x-ibm-ahub-byok: true
/api/logging/logs/getLogVolumeUsage:
get:
description: |
Returns aggregated log volume usage data for a specified time range and optional grouping tag.
`fromTs` and `toTs` are required and must define a valid time range (i.e., `fromTs` <= `toTs`).
Refer to the query parameter description for valid `groupingTag` values.
operationId: getLogVolumeUsage
parameters:
- description: Start timestamp in seconds. Must be <= `toTs`.
example: 1682899200
in: query
name: fromTs
required: true
schema:
type: integer
format: int64
- description: End timestamp in seconds. Must be >= `fromTs`.
example: 1682899201
in: query
name: toTs
required: true
schema:
type: integer
format: int64
- description: |
Optional tag to group volume usage by. Valid groupingTag values are:
`kubernetes_cluster_name`, `kubernetes_daemonset_name`, `kubernetes_namespace_name`,
`kubernetes_deployment_name`, `host_name`, `zone`.
example: zone
in: query
name: groupingTag
schema:
type: string
responses:
'200':
content:
application/json:
examples:
Full Data:
description: Full Data
value:
logVolumeUsageItems:
- numberOfMonth: 11
logVolume: 278141339215
retentionPeriods:
- retentionDays: 7
logVolume: 7253402
logVolumeGroups:
- label: ''
logVolume: 7253402
- label: demo-us-cluster
logVolume: 0
- label: demo-us-eks
logVolume: 0
- retentionDays: 90
logVolume: 13319384221
logVolumeGroups:
- label: ''
logVolume: 13004387032
- label: demo-us-cluster
logVolume: 265176702
- label: demo-us-eks
logVolume: 22645862
- label: k8s-demo-cluster
logVolume: 27142175
- label: rci-robotshop
logVolume: 32450
Zero Volume:
description: Zero Volume
value:
logVolumeUsageItems:
- numberOfMonth: 1
logVolume: 0
retentionPeriods: []
- numberOfMonth: 2
logVolume: 0
retentionPeriods: []
- numberOfMonth: 3
logVolume: 0
retentionPeriods: []
schema:
$ref: '#/components/schemas/LogVolumeUsageResult'
description: Successfully retrieved log volume usage data
'400':
description: 'Invalid request (e.g., missing or incorrect time parameters)'
'500':
description: Unexpected server error
security:
- ApiKeyAuth:
- Default
summary: Get Log Volume Usage
tags:
- Logging Analyze
x-ibm-ahub-byok: true
/api/mobile-app-monitoring/analyze/beacon-groups:
post:
description: API request to get grouped mobile app beacon metrics.
operationId: getMobileAppBeaconGroups
parameters:
- in: query
name: fillTimeSeries
schema:
type: boolean
requestBody:
content:
application/json:
example:
metrics:
- metric: beaconCount
aggregation: SUM
granularity: 60
group:
groupbyTag: mobileBeacon.view.name
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: mobileBeacon.mobileApp.name
operator: EQUALS
entity: NOT_APPLICABLE
value: robot-warehouse
- type: TAG_FILTER
name: mobileBeacon.platform
operator: EQUALS
entity: NOT_APPLICABLE
value: iOS
timeFrame:
to: null
windowSize: 3600000
type: SESSION_START
schema:
$ref: '#/components/schemas/GetMobileAppBeaconGroups'
responses:
'200':
content:
application/json:
example:
items:
- name: Products
earliestTimestamp: 1707023340857
cursor:
'@class': .IngestionOffsetCursor
ingestionTime: 1707026879283
offset: 1
metrics:
beaconCount.sum.60:
- - 1707023340000
- 47
- - 1707023400000
- 43
canLoadMore: false
totalHits: 1
totalRepresentedItemCount: 1
totalRetainedItemCount: 1
adjustedTimeframe:
windowSize: 3540000
to: 1707026880000
schema:
$ref: '#/components/schemas/MobileAppBeaconGroupsResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get grouped beacon metrics
tags:
- Mobile App Analyze
x-ibm-ahub-byok: true
/api/mobile-app-monitoring/analyze/beacons:
post:
description: API request to get all mobile app beacons with matching type.
operationId: getMobileAppBeacons
requestBody:
content:
application/json:
example:
tagFilterExpression:
entity: NOT_APPLICABLE
name: mobileBeacon.mobileApp.name
operator: EQUALS
value: robot-warehouse
timeFrame:
to: null
windowSize: 60000
type: SESSION_START
schema:
$ref: '#/components/schemas/GetMobileAppBeacons'
responses:
'200':
content:
application/json:
example:
items:
- beacon:
agentVersion: 6.0.22
mobileAppId: K3bP-bmCRkyimNai9vvq8o
mobileAppLabel: robot-warehouse
timestamp: 1707025556799
clockSkew: 450
ingestionTime: 1707025557248
duration: 0
batchSize: 1
sessionId: B5CB9B35-C822-4101-B192-DC2488924C7F
beaconId: c43d78282ee5b5cf
parentBeaconId: ''
backendTraceId: ''
type: sessionStart
view: Products
customEventName: ''
meta:
feature.testGroup: beta
userIp: 94.134.0.0
userId: Example User Id
userSessionId: ''
userName: Example User Name
userEmail: example@example.com
userLanguages:
- de-DE
useFeatures: []
bundleIdentifier: com.example.shop
appBuild: aba9031kl
appVersion: 1.41.4
platform: Android
osName: Android
osVersion: '10'
deviceManufacturer: Google
deviceModel: Google Pixel 4XL
deviceHardware: Google Pixel 4XL
viewportWidth: 320
viewportHeight: 680
carrier: Deutsche Telekom
connectionType: wifi
effectiveConnectionType: 3g
latitude: 50.9865
longitude: 6.9304
accuracyRadius: 20
city: Cologne
subdivision: North Rhine-Westphalia
subdivisionCode: NW
country: Germany
countryCode: DE
continent: Europe
continentCode: EU
httpCallUrl: ''
httpCallOrigin: ''
httpCallPath: ''
httpCallMethod: ''
httpCallHeaders: {}
errorCount: 0
errorMessage: ''
errorId: ''
errorType: ''
stackTrace: ''
stackTraceLine: []
parsedStackTrace: ''
cursor:
'@class': .IngestionOffsetCursor
ingestionTime: 1707025557248
offset: 1
canLoadMore: false
totalHits: 70
totalRepresentedItemCount: 70
totalRetainedItemCount: 70
adjustedTimeframe:
windowSize: 60000
to: 1707025560000
schema:
$ref: '#/components/schemas/MobileAppBeaconResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get all beacons
tags:
- Mobile App Analyze
x-ibm-ahub-byok: true
/api/mobile-app-monitoring/catalog:
get:
operationId: getMobileAppTagCatalog
parameters:
- in: query
name: beaconType
required: true
schema:
type: string
- in: query
name: useCase
required: true
schema:
type: string
enum:
- GROUPING
- FILTERING
- SERVICE_MAPPING
- SMART_ALERTS
- SMART_ALERTS_LOGS
- SMART_ALERTS_ADAPTIVE_BASELINE
- SMART_ALERTS_CUSTOM_PAYLOAD
- SLI_MANAGEMENT
- APPLICATION_CONFIG
- APPLICATION_CONFIG_BLUEPRINT
- MAINTENANCE_WINDOWS
- BIZOPS_CUSTOM_DASHBOARDS_FILTERING
responses:
'200':
content:
application/json:
example:
- name: mobileBeacon.carrier
type: STRING
category: MOBILE
canApplyToSource: false
canApplyToDestination: false
sourceValueAvailableFrom: 0
schema:
$ref: '#/components/schemas/TagCatalog'
description: OK
'400':
description: When the combination of beaconType and useCase is unsupported/unknown.
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get mobile app tag catalog
tags:
- Mobile App Catalog
x-ibm-ahub-byok: true
/api/mobile-app-monitoring/catalog/metrics:
get:
operationId: getMobileAppMetricCatalog
responses:
'200':
content:
application/json:
example:
- metricId: beaconCount
label: Beacon count
formatter: NUMBER
description: How many beacons matching a filter were recorded.
aggregations:
- SUM
defaultAggregation: null
beaconTypes:
- sessionStart
- viewChange
- custom
- httpRequest
- crash
pathToValueInBeacon: null
tagName: null
secondaryBeaconTypes:
- sessionStart
- viewChange
- custom
schema:
type: array
items:
$ref: '#/components/schemas/MobileAppMonitoringMetricDescription'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Metric catalog
tags:
- Mobile App Catalog
x-ibm-ahub-byok: true
/api/mobile-app-monitoring/catalog/tags:
get:
operationId: getAllMobileAppCatalogTags
responses:
'200':
content:
application/json:
example:
- name: mobileBeacon.view.name
type: STRING
category: MOBILE
canApplyToSource: false
canApplyToDestination: false
sourceValueAvailableFrom: 0
schema:
type: array
items:
$ref: '#/components/schemas/Tag'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get all existing mobile app tags
tags:
- Mobile App Catalog
x-ibm-ahub-byok: true
/api/mobile-app-monitoring/config:
get:
description: API request to get configured mobile apps.
operationId: getMobileAppConfig
responses:
'200':
content:
application/json:
example:
- id: K3bP-bmCRkyimNai9vvq8o
name: example_mobile_app
rbacTags:
- id: test
displayName: test
schema:
type: array
items:
$ref: '#/components/schemas/MobileApp'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get configured mobile apps
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
post:
description: API request to add new mobile app.
operationId: postMobileAppConfig
parameters:
- description: Name of the mobile app
in: query
name: name
schema:
type: string
requestBody:
content:
application/json:
example:
- id: test
displayName: test
schema:
type: array
items:
$ref: '#/components/schemas/ApiTag'
responses:
'200':
content:
application/json:
example:
- id: K3bP-bmCRkyimNai9vvq8o
name: example_mobile_app
schema:
$ref: '#/components/schemas/MobileApp'
description: Mobile App successfully configured
'400':
description: Missing name query parameter or name already used for a configured mobile app.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Configure new mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/config/{mobileAppId}':
delete:
description: API request to remove mobile app.
operationId: deleteMobileAppConfig
parameters:
- description: Mobile App ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: mobileAppId
required: true
schema:
type: string
responses:
'204':
description: Mobile app successfully removed
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Remove mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
get:
description: API request to get a specific mobile app configuration by ID.
operationId: getSingleMobileAppConfig
parameters:
- description: Mobile App ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: mobileAppId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: K3bP-bmCRkyimNai9vvq8o
name: example_mobile_app
rbacTags:
- id: test
displayName: test
schema:
$ref: '#/components/schemas/MobileApp'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get mobile app configuration by ID
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
put:
description: API request to rename mobile app.
operationId: renameMobileAppConfig
parameters:
- description: Mobile App ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: mobileAppId
required: true
schema:
type: string
- description: New name of the mobile app
in: query
name: name
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: K3bP-bmCRkyimNai9vvq8o
name: example_mobile_app
schema:
$ref: '#/components/schemas/MobileApp'
description: Mobile app successfully renamed
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Rename mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/config/{mobileAppId}/geo-location':
get:
description: API request to get geo location configuration for mobile app.
operationId: getMobileAppGeoLocationConfiguration
parameters:
- in: path
name: mobileAppId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
geoDetailRemoval: NO_REMOVAL
geoMappingRules: []
schema:
$ref: '#/components/schemas/GeoLocationConfiguration'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Get geo location configuration for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
put:
description: API request to update geo location configuration for mobile app.
operationId: updateMobileAppGeoLocationConfiguration
parameters:
- description: Mobile App ID
example: iiLxP1zaTuCS7fyk9m4W0W
in: path
name: mobileAppId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GeoLocationConfiguration'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GeoLocationConfiguration'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Update geo location configuration for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/config/{mobileAppId}/geo-mapping-rules':
get:
description: API request to get custom geo mapping rules for mobile app.
operationId: getMobileAppGeoMappingRules
parameters:
- in: path
name: mobileAppId
required: true
schema:
type: string
responses:
'200':
content:
text/csv: {}
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Get custom geo mapping rules for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
put:
description: API request to set custom geo mapping rules for mobile app.
operationId: setMobileAppGeoMappingRules
parameters:
- in: path
name: mobileAppId
required: true
schema:
type: string
requestBody:
content:
text/csv:
schema:
type: string
responses:
'200':
content:
text/csv: {}
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'415':
description: Unsupported Media Type.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Set custom geo mapping rules for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/config/{mobileAppId}/ip-masking':
get:
description: API request to get IP masking configuration for mobile app.
operationId: getMobileAppIpMaskingConfiguration
parameters:
- in: path
name: mobileAppId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
ipMasking: DEFAULT
schema:
$ref: '#/components/schemas/IpMaskingConfiguration'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Get IP masking configuration for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
put:
description: API request to update IP masking configuration for mobile app.
operationId: updateMobileAppIpMaskingConfiguration
parameters:
- description: Mobile App ID
example: iiLxP1zaTuCS7fyk9m4W0W
in: path
name: mobileAppId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IpMaskingConfiguration'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/IpMaskingConfiguration'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Update IP masking configuration for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload':
get:
description: API request to get all sourcemap configurations for mobile app.
operationId: getMobileAppSourceMapFiles
parameters:
- description: Mobile App ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: mobileAppId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
configs:
- id: 26ae11a865ec8c24
description: InstanaAgentExample_v1
createdAt: 1739864150.9596016
modifiedAt: 1739864314.1402564
metadata:
- type: DWARF
format: TGZ
url: com.instana.ios.InstanaAgentExample/dwarf
size: 2332564
sizeOnDisk: 2324096
blobs:
- blobIndex: 1
size: 2332564
sizeOnDisk: 2324096
meta: null
schema:
$ref: '#/components/schemas/SourceMapUploadConfigs'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get all sourcemap configurations for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
post:
description: API request to add sourcemap configuration for mobile app.
operationId: postMobileAppSourceMapConfig
parameters:
- description: Mobile App ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: mobileAppId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
description: InstanaAgentExample_v2
schema:
type: object
description: Source map upload configuration
properties:
description:
type: string
description: Name of configuration
responses:
'200':
content:
application/json:
example:
id: 1f4acfd2da7c53f1
description: InstanaAgentExample_v2
createdAt: 1747892306.8642304
modifiedAt: 1747892306.8642304
metadata: []
schema:
$ref: '#/components/schemas/SourceMapUploadConfig'
description: Mobile App sourcemap configuration added successfully
'400':
description: Missing description or description already used for a configuration.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable request - missing/invalid data.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Add new sourcemap configuration for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload/{sourceMapConfigId}':
delete:
description: API request to delete sourcemap configuration for mobile app.
operationId: deleteMobileAppSourceMapUploadConfiguration
parameters:
- description: Mobile App ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: mobileAppId
required: true
schema:
type: string
- description: Source Map Config ID
example: 97e0ad312110d3ad
in: path
name: sourceMapConfigId
required: true
schema:
type: string
responses:
'204':
description: Sourcemap configuration successfully deleted or sourcemap not found
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Delete sourcemap configuration for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
get:
description: API request to get sourcemap configuration for mobile app.
operationId: getMobileAppSourceMapFile
parameters:
- description: Mobile App ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: mobileAppId
required: true
schema:
type: string
- description: Source Map Config ID
example: 97e0ad312110d3ad
in: path
name: sourceMapConfigId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: 53467e4fb60c1ba2
description: InstanaAgentExample_v1
createdAt: 1721697722.7669933
modifiedAt: 1721698308.4051073
metadata:
- type: DWARF
format: TGZ
url: com.instana.ios.InstanaAgentExample/dwarf
size: 3301023
sizeOnDisk: 3287984
blobs:
- blobIndex: 1
size: 3301023
sizeOnDisk: 3287984
meta: null
schema:
$ref: '#/components/schemas/SourceMapUploadConfig'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get sourcemap configuration for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload/{sourceMapConfigId}/clear':
put:
description: API request to clear sourcemap files of a configuration for mobile app.
operationId: clearMobileAppSourceMapUploadConfiguration
parameters:
- description: Mobile App ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: mobileAppId
required: true
schema:
type: string
- description: Source Map Config ID
example: 97e0ad312110d3ad
in: path
name: sourceMapConfigId
required: true
schema:
type: string
responses:
'204':
description: Sourcemap files in the sourcemap configuration successfully cleared
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Clear sourcemap files for sourcemap upload configuration
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload/{sourceMapConfigId}/commit':
put:
description: API request to commit sourcemap file upload for mobile app.
operationId: commitMobileAppSourceMapFile
parameters:
- description: Mobile App ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: mobileAppId
required: true
schema:
type: string
- description: Source Map Config ID
example: 97e0ad312110d3ad
in: path
name: sourceMapConfigId
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
fileId:
type: string
fileType:
type: string
responses:
'200':
content:
application/json:
example:
id: fb3e868cd69f0647
description: InstanaAgentExample_v2
createdAt: 1747954318.3628924
modifiedAt: 1747955097.0266616
metadata:
- type: DWARF
format: TGZ
url: com.instana.ios.InstanaAgentExample/dwarf
size: 3454658
sizeOnDisk: 3442288
blobs:
- blobIndex: 1
size: 3454658
sizeOnDisk: 3442288
meta: null
schema:
$ref: '#/components/schemas/SourceMapUploadConfig'
description: Successfully committed sourcemap file upload.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Commit sourcemap file upload for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/config/{mobileAppId}/sourcemap-upload/{sourceMapConfigId}/form':
put:
description: API request to upload sourcemap file for mobile app.
operationId: uploadMobileAppSourceMapFile
parameters:
- description: Mobile App ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: mobileAppId
required: true
schema:
type: string
- description: Source Map Config ID
example: 97e0ad312110d3ad
in: path
name: sourceMapConfigId
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
blobIndex:
type: integer
format: int32
description: Blob index which starts from 1
fileFormat:
type: string
description: File format. Example tgz
fileId:
type: string
description: 'Identifier of your app. For example, com.instana.ios.InstanaExampleApp'
fileType:
type: string
description: 'dSYM stands for iOS symbol file, R8PG_MAP stands for Android java mapping file'
sourceMap:
type: string
format: binary
description: Path to your local symbol file
required:
- blobIndex
- fileFormat
- fileId
- fileType
- sourceMap
responses:
'200':
content:
application/json:
example:
id: 77e4c6c8c9855973
description: InstanaAgentExample_v2
createdAt: 1747947350.8836377
modifiedAt: 1747948462.2585921
metadata:
- type: DWARF
format: TGZ
url: com.instana.ios.InstanaAgentExample/dwarf
size: 3455633
sizeOnDisk: 3443584
blobs:
- blobIndex: 1
size: 3455633
sizeOnDisk: 3443584
meta: null
schema:
$ref: '#/components/schemas/SourceMapUploadConfig'
description: OK
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Upload sourcemap file for mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/config/{mobileAppId}/teams':
put:
description: API request to update teams of a mobile app.
operationId: updateMobileAppTeams
parameters:
- in: path
name: mobileAppId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
- id: test
displayName: test
schema:
type: array
items:
$ref: '#/components/schemas/ApiTag'
responses:
'200':
content:
application/json:
example:
- id: test
displayName: test
schema:
type: array
items:
$ref: '#/components/schemas/ApiTag'
description: Mobile App successfully configured
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- ConfigureMobileAppMonitoring
summary: Update teams assigned to the mobile app
tags:
- Mobile App Configuration
x-ibm-ahub-byok: true
/api/mobile-app-monitoring/metrics:
post:
deprecated: true
description: API request to get mobile app monitoring beacon metrics.
operationId: getMobileAppBeaconMetrics
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetMobileAppMetrics'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MobileAppMetricResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get mobile app beacon metrics
tags:
- Mobile App Metrics
x-ibm-ahub-byok: true
'/api/mobile-app-monitoring/session{id}{timestamp}':
get:
description: API request to get a mobile app monitoring session.
operationId: getSession
parameters:
- description: Identifier of the session to be retrieved
example: 9CA9E31D-B0F7-40EC-8D32-FE163A6557AE
in: path
name: id
required: true
schema:
type: string
style: matrix
- description: Timestamp of the session to be retrieved
example: 1730595029980
in: path
name: timestamp
required: true
schema:
type: integer
format: int64
style: matrix
responses:
'200':
content:
application/json:
example:
- agentVersion: 1.8.5
mobileAppId: K3bP-bmCRkyimNai9vvq8o
mobileAppLabel: robot-warehouse
timestamp: 1707025019211
clockSkew: 460
ingestionTime: 1707025019670
duration: 0
batchSize: 1
sessionId: 9CA9E31D-B0F7-40EC-8D32-FE163A6557AE
beaconId: 659302486df75422
parentBeaconId: ''
backendTraceId: ''
type: sessionStart
view: Products
customEventName: ''
meta:
feature.testGroup: sigma
userIp: 149.200.0.0
userId: Example user id
userSessionId: ''
userName: Example user name
userEmail: example@example.com
userLanguages:
- ar-JO
useFeatures: []
bundleIdentifier: com.example.shop
appBuild: aba9031kl
appVersion: 1.42.3
platform: iOS
osName: iOS
osVersion: 16.7.1
deviceManufacturer: Apple
deviceModel: iPhone 13
deviceHardware: 'iPhone14,5'
viewportWidth: 320
viewportHeight: 680
carrier: Orange
connectionType: wifi
effectiveConnectionType: 3g
latitude: 31.9555
longitude: 35.9435
accuracyRadius: 20
city: Amman
subdivision: Amman Governorate
subdivisionCode: AM
country: Jordan
countryCode: JO
continent: Asia
continentCode: AS
httpCallUrl: ''
httpCallOrigin: ''
httpCallPath: ''
httpCallMethod: ''
httpCallHeaders: {}
errorCount: 0
errorMessage: ''
errorId: ''
errorType: ''
stackTrace: ''
stackTraceLine: []
parsedStackTrace: ''
schema:
type: array
items:
$ref: '#/components/schemas/MobileAppMonitoringBeacon'
description: OK
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get mobile app session
tags:
- Mobile App Metrics
x-ibm-ahub-byok: true
/api/mobile-app-monitoring/v2/metrics:
post:
description: API request to get mobile app monitoring beacon metrics.
operationId: getMobileAppBeaconMetricsV2
requestBody:
content:
application/json:
example:
metrics:
- metric: beaconCount
aggregation: SUM
granularity: 60
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: mobileBeacon.mobileApp.name
operator: EQUALS
entity: NOT_APPLICABLE
value: robot-warehouse
- type: TAG_FILTER
name: mobileBeacon.view.name
operator: EQUALS
entity: NOT_APPLICABLE
value: Products
timeFrame:
to: null
windowSize: 3600000
type: SESSION_START
schema:
$ref: '#/components/schemas/GetMobileAppMetricsV2'
responses:
'200':
content:
application/json:
example:
metrics:
beaconCount.sum.60:
- - 1707026940000
- 75
- - 1707027000000
- 75
adjustedTimeframe:
windowSize: 3540000
to: 1707030480000
schema:
$ref: '#/components/schemas/MetricAPIResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get beacon metrics
tags:
- Mobile App Metrics
x-ibm-ahub-byok: true
/api/releases:
get:
operationId: getAllReleases
parameters:
- in: query
name: from
schema:
type: integer
format: int64
description: The timestamp from where one wants to fetch the release markers.
- in: query
name: to
schema:
type: integer
format: int64
description: The timestamp till where one wants to fetch the release markers.
- in: query
name: maxResults
schema:
type: integer
format: int32
description: The maximum number of release markers to be fetched
responses:
'200':
content:
application/json:
example:
- id: Tiu16hLCTniHDtHb_uDV1w
name: demo-app/main-**
start: 1709091782000
lastUpdated: 1709091782533
schema:
type: array
items:
$ref: '#/components/schemas/ReleaseWithMetadata'
description: OK
security:
- ApiKeyAuth:
- CanConfigureReleases
summary: Get all releases
tags:
- Releases
x-ibm-ahub-byok: true
description: Use this API endpoint to retrieve a list of all releases.
post:
operationId: postRelease
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Release'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ReleaseWithMetadata'
description: OK
security:
- ApiKeyAuth:
- CanConfigureReleases
summary: Create release
tags:
- Releases
x-ibm-ahub-byok: true
description: |-
Use this API endpoint to create a release. Release can be created with four different scopes:
1. Global
- Release marker is shown on all dashboard pages for Application perspectives, Services, and Endpoints.
2. Application Perspective
- Release marker is shown on the dashboard for the Application perspective.
3. Service
- Release marker is shown on the dashboards for the Service and all Application perspective dashboards that contain the Service.
4. Service within an Application Perspective
- Release Marker will be shown only for the Service within the given Application perspective, but not for other services within the Application perspective.
'/api/releases/{releaseId}':
delete:
operationId: deleteRelease
parameters:
- in: path
name: releaseId
required: true
schema:
type: string
description: The unique release id which one wants to delete.
example: XK1e1TE3T9SHKugndn_soQ
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureReleases
summary: Delete release
tags:
- Releases
x-ibm-ahub-byok: true
description: Use this API endpoint to delete a release.
get:
operationId: getRelease
parameters:
- description: The unique release id which one wants to retrieve.
example: XK1e1TF3T9SHKugndn_soQ
in: path
name: releaseId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: XK1e1TF3T9SHKugndn_soQ
name: demo-app/main-**
start: 1706674621000
lastUpdated: 1706674621604
schema:
$ref: '#/components/schemas/ReleaseWithMetadata'
description: OK
security:
- ApiKeyAuth:
- CanConfigureReleases
summary: Get release
tags:
- Releases
x-ibm-ahub-byok: true
description: Use this API endpoint to retrieve a particular release.
put:
operationId: putRelease
parameters:
- in: path
name: releaseId
required: true
schema:
type: string
description: The unique release id which one wants to update.
example: XK1e1TQ3T9SHKugndn_soQ
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Release'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ReleaseWithMetadata'
description: OK
security:
- ApiKeyAuth:
- CanConfigureReleases
summary: Update release
tags:
- Releases
x-ibm-ahub-byok: true
description: Use this API endpoint to update a release.
/api/settings/accesslog:
get:
description: Retrieve all access logs using defined query.
operationId: getAccessLogs
parameters:
- description: The offset within the result set
example: 0
in: query
name: offset
schema:
type: integer
format: int32
- description: The query to filter the results
example: username@example
in: query
name: query
schema:
type: string
- description: The size of returned page
example: 10
in: query
name: pageSize
schema:
type: integer
format: int32
responses:
'200':
content:
application/json:
example:
total: 1977
entries:
- tenantId: tenantId
tenantUnitId: unitId
action: LOGIN
email: username@example.com
fullName: Any User
timestamp: 1723035109091
schema:
$ref: '#/components/schemas/AccessLogResponse'
description: OK
security:
- ApiKeyAuth:
- CanViewAuditLog
summary: Access log
tags:
- Audit Log
x-ibm-ahub-byok: true
/api/settings/apdex:
get:
description: API to Get All Apdex Configurations.
operationId: getAllApdexConfigurations
responses:
'200':
content:
application/json:
example:
- id: _PvpxqTfSyi27O_LCxMd0A
createdAt: 1653917798682
apdexName: '{string}'
apdexEntity:
apdexType: website
entityId: '{object}'
threshold: 70
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
beaconType: httpRequest
- id: K6thQVyzQqWc38yspc0QWw
createdAt: 1693828514423
apdexName: '{string}'
apdexEntity:
apdexType: application
entityId: '{object}'
threshold: 12
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
boundaryScope: ALL
includeInternal: false
includeSynthetic: false
schema:
type: array
items:
$ref: '#/components/schemas/ApdexConfiguration'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get All Apdex Configurations
tags:
- Apdex Settings
x-ibm-ahub-byok: true
post:
operationId: createApdexConfiguration
requestBody:
content:
application/json:
example:
- apdexName: Apdex Configuration One
apdexEntity:
apdexType: website
entityId: XIZGGVT1TX2O-0OFeT2Yig
threshold: 400
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
beaconType: httpRequest
schema:
$ref: '#/components/schemas/ApdexConfigurationInput'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ApdexConfiguration'
description: OK
security:
- ApiKeyAuth:
- canConfigureApdex
summary: Create Apdex Configuration
tags:
- Apdex Settings
x-ibm-ahub-byok: true
'/api/settings/apdex/{entityType}/{entityId}':
get:
description: API to Get All Apdex Configurations for specified entity type and entity id.
operationId: getApdexConfigurationsForEntityTypeAndId
parameters:
- description: 'Type of the Apdex Configuration, it could be APPLICATION or WEBSITE'
example: APPLICATION
in: path
name: entityType
required: true
schema:
type: string
enum:
- APPLICATION
- WEBSITE
- description: Application or Website ID
example: XIZGGVT1TX2O-0OFeT2Yig
in: path
name: entityId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: u2MBXtasQoy3reni5-QZgg
createdAt: 1657743333352
apdexName: Apdex Configuration One
apdexEntity:
apdexType: website
entityId: XIZGGVT1TX2O-0OFeT2Yig
threshold: 400
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
beaconType: httpRequest
- id: ShIqRJgpTT69HZHbfQKRGg
createdAt: 1693482558276
apdexName: Apdex Configuration Two
apdexEntity:
apdexType: website
entityId: XIZGGVT1TX2O-0OFeT2Yig
threshold: 90
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
beaconType: httpRequest
schema:
type: array
items:
$ref: '#/components/schemas/ApdexConfiguration'
description: OK
'400':
content:
application/json:
example: '{"code":400,"message":"path param entityType must be one of [APPLICATION, WEBSITE]"}'
schema:
type: string
description: Bad Request
security:
- ApiKeyAuth:
- Default
summary: Get all Apdex configurations for entity type and entity id
tags:
- Apdex Settings
x-ibm-ahub-byok: true
'/api/settings/apdex/{id}':
delete:
operationId: deleteApdexConfiguration
parameters:
- description: Apdex Configuration ID
example: NCAoNKqySWSK1U5GkmyZgQ
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Apdex Configuration Deleted Successfully
security:
- ApiKeyAuth:
- canConfigureApdex
summary: Delete Apdex Configuration
tags:
- Apdex Settings
x-ibm-ahub-byok: true
get:
description: API to Get Apdex Configuration for specified ID.
operationId: getApdexConfiguration
parameters:
- description: Apdex Configuration ID
example: NCAoNKqySWSK1U5GkmyZgQ
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: NCAoNKqySWSK1U5GkmyZgQ
createdAt: 1666112381045
apdexName: '{string}'
apdexEntity:
apdexType: website
entityId: XIZGGVT1TX2O-0OFeT2Yig
threshold: 100
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements: []
beaconType: httpRequest
schema:
$ref: '#/components/schemas/ApdexConfiguration'
description: OK
'404':
content:
application/json:
example: '{"errors":["Apdex Configuration not found"]}'
schema:
type: string
description: Apdex Configuration not found
security:
- ApiKeyAuth:
- Default
summary: Get Apdex Configuration
tags:
- Apdex Settings
x-ibm-ahub-byok: true
/api/settings/api-tokens:
get:
description: |-
Get the list of API Tokens for this Tenant-Unit
For more information on APIToken please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken.
operationId: getApiTokens
responses:
'200':
content:
application/json:
example: |-
[
{
"id": "tokenId-1(masked)",
"accessGrantingToken": "accessGrantingToken-1(masked)",
"internalId": "internalId-1",
"name": "tokenName-1",
"createdBy": "user1@example.com",
"createdOn": timestamp,
"lastUsedOn": timestamp,
"expiresOn": null,
"limitedApplicationsScope": false,
"limitedBizOpsScope": false,
"limitedWebsitesScope": false,
"limitedKubernetesScope": false,
"limitedMobileAppsScope": false,
"limitedInfrastructureScope": false,
"limitedSyntheticsScope": false,
"limitedVsphereScope": false,
"limitedPhmcScope": false,
"limitedPvcScope": false,
"limitedZhmcScope": false,
"limitedPcfScope": false,
"limitedOpenstackScope": false,
"limitedAutomationScope": false,
"limitedLogsScope": false,
"canConfigureServiceMapping": true,
"canConfigureEumApplications": true,
"canConfigureMobileAppMonitoring": true,
"canConfigureUsers": true,
"canInstallNewAgents": true,
"canConfigureIntegrations": true,
"canConfigureApiTokens": true,
"canConfigurePersonalApiTokens": false,
"canConfigureAgentRunMode": true,
"canViewAuditLog": true,
"canConfigureAgents": true,
"canConfigureAuthenticationMethods": true,
"canConfigureApplications": true,
"canConfigureTeams": true,
"canConfigureReleases": true,
"canConfigureLogManagement": true,
"canConfigureDatabaseManagement": false,
"canCreatePublicCustomDashboards": true,
"canViewLogs": true,
"canViewTraceDetails": true,
"canConfigureSessionSettings": true,
"canConfigureGlobalAlertPayload": true,
"canViewAccountAndBillingInformation": true,
"canEditAllAccessibleCustomDashboards": true,
"canConfigureAutomationActions": true,
"canConfigureAutomationPolicies": true,
"canRunAutomationActions": true,
"canDeleteAutomationActionHistory": true,
"canConfigureSyntheticTests": true,
"canConfigureSyntheticLocations": true,
"canConfigureSyntheticCredentials": true,
"canViewSyntheticTests": true,
"canViewSyntheticLocations": true,
"canViewSyntheticTestResults": true,
"canUseSyntheticCredentials": true,
"canViewBusinessProcesses": false,
"canViewBusinessProcessDetails": false,
"canViewBusinessActivities": false,
"canViewBizAlerts": false,
"canDeleteLogs": true,
"canCreateHeapDump": false,
"canCreateThreadDump": false,
"canConfigureEventsAndAlerts": true,
"canConfigureMaintenanceWindows": true,
"canConfigureApplicationSmartAlerts": true,
"canConfigureWebsiteSmartAlerts": true,
"canConfigureMobileAppSmartAlerts": true,
"canConfigureGlobalApplicationSmartAlerts": true,
"canConfigureGlobalSyntheticSmartAlerts": true,
"canConfigureGlobalInfraSmartAlerts": true,
"canConfigureGlobalLogSmartAlerts": true,
"canManuallyCloseIssue": true,
"canViewLogVolume": true,
"canConfigureLogRetentionPeriod": true
},
{
"id": "tokenId-2(masked)",
"accessGrantingToken": "accessGrantingToken-2(masked)",
"internalId": "internalId-2",
"name": "tokenName-2",
"createdBy": "user2@example.com",
"createdOn": timestamp,
"lastUsedOn": timestamp,
"limitedApplicationsScope": false,
"limitedBizOpsScope": false,
"limitedWebsitesScope": false,
"limitedKubernetesScope": false,
"limitedMobileAppsScope": false,
"limitedInfrastructureScope": false,
"limitedSyntheticsScope": false,
"limitedVsphereScope": false,
"limitedPhmcScope": false,
"limitedPvcScope": false,
"limitedZhmcScope": false,
"limitedPcfScope": false,
"limitedOpenstackScope": false,
"limitedAutomationScope": false,
"limitedLogsScope": false,
"canConfigureServiceMapping": true,
"canConfigureEumApplications": true,
"canConfigureMobileAppMonitoring": true,
"canConfigureUsers": true,
"canInstallNewAgents": true,
"canConfigureIntegrations": true,
"canConfigureApiTokens": true,
"canConfigurePersonalApiTokens": false,
"canConfigureAgentRunMode": true,
"canViewAuditLog": true,
"canConfigureAgents": true,
"canConfigureAuthenticationMethods": true,
"canConfigureApplications": true,
"canConfigureTeams": true,
"canConfigureReleases": true,
"canConfigureLogManagement": true,
"canConfigureDatabaseManagement": false,
"canCreatePublicCustomDashboards": true,
"canViewLogs": true,
"canViewTraceDetails": true,
"canConfigureSessionSettings": true,
"canConfigureGlobalAlertPayload": true,
"canViewAccountAndBillingInformation": true,
"canEditAllAccessibleCustomDashboards": true,
"canConfigureAutomationActions": false,
"canConfigureAutomationPolicies": false,
"canRunAutomationActions": false,
"canDeleteAutomationActionHistory": false,
"canConfigureSyntheticTests": true,
"canConfigureSyntheticLocations": true,
"canConfigureSyntheticCredentials": true,
"canViewSyntheticTests": true,
"canViewSyntheticLocations": true,
"canViewSyntheticTestResults": true,
"canUseSyntheticCredentials": true,
"canViewBusinessProcesses": false,
"canViewBusinessProcessDetails": false,
"canViewBusinessActivities": false,
"canViewBizAlerts": false,
"canDeleteLogs": false,
"canCreateHeapDump": false,
"canCreateThreadDump": false,
"canConfigureEventsAndAlerts": true,
"canConfigureMaintenanceWindows": true,
"canConfigureApplicationSmartAlerts": true,
"canConfigureWebsiteSmartAlerts": true,
"canConfigureMobileAppSmartAlerts": true,
"canConfigureGlobalApplicationSmartAlerts": true,
"canConfigureGlobalSyntheticSmartAlerts": true,
"canConfigureGlobalInfraSmartAlerts": true,
"canConfigureGlobalLogSmartAlerts": false,
"canManuallyCloseIssue": false,
"canViewLogVolume": false,
"canConfigureLogRetentionPeriod": false
}
]
schema:
type: array
items:
$ref: '#/components/schemas/ApiToken'
description: OK
'404':
description: No API Tokens found
security:
- ApiKeyAuth:
- CanConfigureApiTokens
summary: Get all API Tokens
tags:
- API Token
x-ibm-ahub-byok: true
post:
description: |-
Create an API Token on the Tenant-Unit. Each API Token entry also contains a set of permissions
For more information on APIToken please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken.
operationId: postApiToken
requestBody:
content:
application/json:
example: |
{
"accessGrantingToken": "accessGrantingToken",
"name": "tokenName",
"internalId": "internalId",
"canViewAuditLog": true,
"canConfigureSessionSettings": true,
"canConfigureApplications": true,
"canConfigureAgents": true,
"canConfigureUsers": true,
"canConfigureEventsAndAlerts": true,
}
schema:
$ref: '#/components/schemas/ApiToken'
required: true
responses:
'200':
content:
application/json:
example:
id: tokenId
accessGrantingToken: accessGrantingToken
internalId: internalId
name: tokenName
createdBy: createdBy
createdOn: createdOn
lastUsedOn: lastUsedOn
expiresOn: expiresOn
limitedApplicationsScope: false
limitedBizOpsScope: false
limitedWebsitesScope: false
limitedKubernetesScope: false
limitedMobileAppsScope: false
limitedInfrastructureScope: false
limitedSyntheticsScope: false
limitedVsphereScope: false
limitedPhmcScope: false
limitedPvcScope: false
limitedZhmcScope: false
limitedPcfScope: false
limitedOpenstackScope: false
limitedAutomationScope: false
limitedLogsScope: false
canConfigureServiceMapping: false
canConfigureEumApplications: false
canConfigureMobileAppMonitoring: false
canConfigureUsers: true
canInstallNewAgents: false
canConfigureIntegrations: false
canConfigureApiTokens: false
canConfigurePersonalApiTokens: false
canConfigureAgentRunMode: false
canViewAuditLog: true
canConfigureAgents: true
canConfigureAuthenticationMethods: false
canConfigureApplications: true
canConfigureTeams: false
canConfigureReleases: false
canConfigureLogManagement: false
canConfigureDatabaseManagement: false
canCreatePublicCustomDashboards: false
canViewLogs: false
canViewTraceDetails: false
canConfigureSessionSettings: true
canConfigureGlobalAlertPayload: false
canViewAccountAndBillingInformation: false
canEditAllAccessibleCustomDashboards: false
canConfigureAutomationActions: false
canConfigureAutomationPolicies: false
canRunAutomationActions: false
canDeleteAutomationActionHistory: false
canConfigureSyntheticTests: false
canConfigureSyntheticLocations: false
canConfigureSyntheticCredentials: false
canViewSyntheticTests: false
canViewSyntheticLocations: false
canViewSyntheticTestResults: false
canUseSyntheticCredentials: false
canViewBusinessProcesses: false
canViewBusinessProcessDetails: false
canViewBusinessActivities: false
canViewBizAlerts: false
canDeleteLogs: false
canCreateHeapDump: false
canCreateThreadDump: false
canConfigureEventsAndAlerts: true
canConfigureMaintenanceWindows: false
canConfigureApplicationSmartAlerts: false
canConfigureWebsiteSmartAlerts: false
canConfigureMobileAppSmartAlerts: false
canConfigureGlobalApplicationSmartAlerts: false
canConfigureGlobalSyntheticSmartAlerts: false
canConfigureGlobalInfraSmartAlerts: false
canConfigureGlobalLogSmartAlerts: false
canManuallyCloseIssue: false
canViewLogVolume: false
canConfigureLogRetentionPeriod: false
schema:
$ref: '#/components/schemas/ApiToken'
description: OK
security:
- ApiKeyAuth:
- CanConfigureApiTokens
summary: Create an API token
tags:
- API Token
x-ibm-ahub-byok: true
'/api/settings/api-tokens/{internalId}':
delete:
description: |-
Delete the Api Token
For more information on APIToken please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken.
operationId: deleteApiToken
parameters:
- in: path
name: internalId
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureApiTokens
summary: Delete API token
tags:
- API Token
x-ibm-ahub-byok: true
get:
description: |-
Returns API Token details, including the set of permissions
For more information on APIToken please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken.
operationId: getApiToken
parameters:
- in: path
name: internalId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: |
{
"id": "tokenId(masked)",
"accessGrantingToken": "accessGrantingToken(masked)",
"internalId": "internalId",
"name": "tokenName",
"createdBy": "user@example.com",
"createdOn": timestamp,
"lastUsedOn": timestamp,
"expiresOn": null,
"limitedApplicationsScope": false,
"limitedBizOpsScope": false,
"limitedWebsitesScope": false,
"limitedKubernetesScope": false,
"limitedMobileAppsScope": false,
"limitedInfrastructureScope": false,
"limitedSyntheticsScope": false,
"limitedVsphereScope": false,
"limitedPhmcScope": false,
"limitedPvcScope": false,
"limitedZhmcScope": false,
"limitedPcfScope": false,
"limitedOpenstackScope": false,
"limitedAutomationScope": false,
"limitedLogsScope": false,
"canConfigureServiceMapping": true,
"canConfigureEumApplications": true,
"canConfigureMobileAppMonitoring": true,
"canConfigureUsers": true,
"canInstallNewAgents": true,
"canConfigureIntegrations": true,
"canConfigureApiTokens": true,
"canConfigurePersonalApiTokens": false,
"canConfigureAgentRunMode": true,
"canViewAuditLog": true,
"canConfigureAgents": true,
"canConfigureAuthenticationMethods": true,
"canConfigureApplications": true,
"canConfigureTeams": true,
"canConfigureReleases": true,
"canConfigureLogManagement": true,
"canConfigureDatabaseManagement": false,
"canCreatePublicCustomDashboards": true,
"canViewLogs": true,
"canViewTraceDetails": true,
"canConfigureSessionSettings": true,
"canConfigureGlobalAlertPayload": true,
"canViewAccountAndBillingInformation": true,
"canEditAllAccessibleCustomDashboards": true,
"canConfigureAutomationActions": true,
"canConfigureAutomationPolicies": true,
"canRunAutomationActions": true,
"canDeleteAutomationActionHistory": true,
"canConfigureSyntheticTests": true,
"canConfigureSyntheticLocations": true,
"canConfigureSyntheticCredentials": true,
"canViewSyntheticTests": true,
"canViewSyntheticLocations": true,
"canViewSyntheticTestResults": true,
"canUseSyntheticCredentials": true,
"canViewBusinessProcesses": false,
"canViewBusinessProcessDetails": false,
"canViewBusinessActivities": false,
"canViewBizAlerts": false,
"canDeleteLogs": true,
"canCreateHeapDump": false,
"canCreateThreadDump": false,
"canConfigureEventsAndAlerts": true,
"canConfigureMaintenanceWindows": true,
"canConfigureApplicationSmartAlerts": true,
"canConfigureWebsiteSmartAlerts": true,
"canConfigureMobileAppSmartAlerts": true,
"canConfigureGlobalApplicationSmartAlerts": true,
"canConfigureGlobalSyntheticSmartAlerts": true,
"canConfigureGlobalInfraSmartAlerts": true,
"canConfigureGlobalLogSmartAlerts": true,
"canManuallyCloseIssue": true,
"canViewLogVolume": true,
"canConfigureLogRetentionPeriod": true
}
schema:
$ref: '#/components/schemas/ApiToken'
description: OK
security:
- ApiKeyAuth:
- CanConfigureApiTokens
summary: Get API token
tags:
- API Token
x-ibm-ahub-byok: true
put:
description: |-
Update API Token- Change Token name and associated permissions
For more information on APIToken please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#apitoken.
operationId: putApiToken
parameters:
- in: path
name: internalId
required: true
schema:
type: string
requestBody:
content:
application/json:
example: |
{
"accessGrantingToken": "accessGrantingToken",
"name": "tokenName",
"internalId": "internalId",
"canViewAuditLog": true,
"canConfigureSessionSettings": true,
"canConfigureApplications": true,
"canConfigureAgents": true,
"canConfigureUsers": true,
"canConfigureEventsAndAlerts": true,
}
schema:
$ref: '#/components/schemas/ApiToken'
required: true
responses:
'200':
content:
application/json:
example:
id: tokenId
accessGrantingToken: accessGrantingToken
internalId: internalId
name: tokenName
createdBy: createdBy
createdOn: createdOn
lastUsedOn: lastUsedOn
expiresOn: expiresOn
limitedApplicationsScope: false
limitedBizOpsScope: false
limitedWebsitesScope: false
limitedKubernetesScope: false
limitedMobileAppsScope: false
limitedInfrastructureScope: false
limitedSyntheticsScope: false
limitedVsphereScope: false
limitedPhmcScope: false
limitedPvcScope: false
limitedZhmcScope: false
limitedPcfScope: false
limitedOpenstackScope: false
limitedAutomationScope: false
limitedLogsScope: false
canConfigureServiceMapping: false
canConfigureEumApplications: false
canConfigureMobileAppMonitoring: false
canConfigureUsers: true
canInstallNewAgents: false
canConfigureIntegrations: false
canConfigureApiTokens: false
canConfigurePersonalApiTokens: false
canConfigureAgentRunMode: false
canViewAuditLog: true
canConfigureAgents: true
canConfigureAuthenticationMethods: false
canConfigureApplications: true
canConfigureTeams: false
canConfigureReleases: false
canConfigureLogManagement: false
canConfigureDatabaseManagement: false
canCreatePublicCustomDashboards: false
canViewLogs: false
canViewTraceDetails: false
canConfigureSessionSettings: true
canConfigureGlobalAlertPayload: false
canViewAccountAndBillingInformation: false
canEditAllAccessibleCustomDashboards: false
canConfigureAutomationActions: false
canConfigureAutomationPolicies: false
canRunAutomationActions: false
canDeleteAutomationActionHistory: false
canConfigureSyntheticTests: false
canConfigureSyntheticLocations: false
canConfigureSyntheticCredentials: false
canViewSyntheticTests: false
canViewSyntheticLocations: false
canViewSyntheticTestResults: false
canUseSyntheticCredentials: false
canViewBusinessProcesses: false
canViewBusinessProcessDetails: false
canViewBusinessActivities: false
canViewBizAlerts: false
canDeleteLogs: false
canCreateHeapDump: false
canCreateThreadDump: false
canConfigureEventsAndAlerts: true
canConfigureMaintenanceWindows: false
canConfigureApplicationSmartAlerts: false
canConfigureWebsiteSmartAlerts: false
canConfigureMobileAppSmartAlerts: false
canConfigureGlobalApplicationSmartAlerts: false
canConfigureGlobalSyntheticSmartAlerts: false
canConfigureGlobalInfraSmartAlerts: false
canConfigureGlobalLogSmartAlerts: false
canManuallyCloseIssue: false
canViewLogVolume: false
canConfigureLogRetentionPeriod: false
schema:
$ref: '#/components/schemas/ApiToken'
description: OK
security:
- ApiKeyAuth:
- CanConfigureApiTokens
summary: Create or update an API token
tags:
- API Token
x-ibm-ahub-byok: true
/api/settings/auditlog:
get:
description: Retrieve all audit logs using defined query.
operationId: getAuditLogs
parameters:
- description: The offset within the result set
example: 0
in: query
name: offset
schema:
type: integer
format: int32
- description: The query to filter the results
example: username@example.com
in: query
name: query
schema:
type: string
- description: The size of returned page
example: 10
in: query
name: pageSize
schema:
type: integer
format: int32
responses:
'200':
content:
application/json:
example:
total: 1977
entries:
- id: WawO9-p0SJ2ifST460tXYZ
action: GET /api/settings
message: Aborting request due to Insufficient permissions/access rights for resource method
actor:
type: USER
id: userId
name: Any User
email: username@example.com
timestamp: 1723035109091
meta:
origin_ip: 10.69.123.42
schema:
$ref: '#/components/schemas/AuditLogUiResponse'
description: OK
security:
- ApiKeyAuth:
- CanViewAuditLog
summary: Audit log
tags:
- Audit Log
x-ibm-ahub-byok: true
/api/settings/authentication/googleSSO:
delete:
description: Delete the corresponding tenants Google SSO configuration.
operationId: deleteGoogleSSOConfig
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Delete Google SSO configuration
tags:
- Authentication
x-ibm-ahub-byok: true
/api/settings/authentication/ldap:
delete:
description: Delete the corresponding tenants LDAP configuration.
operationId: deleteLdapConfig
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Delete LDAP configuration
tags:
- Authentication
x-ibm-ahub-byok: true
/api/settings/authentication/oidc:
delete:
description: Delete the corresponding tenants OIDC configuration.
operationId: deleteOidcConfig
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Delete OIDC configuration
tags:
- Authentication
x-ibm-ahub-byok: true
/api/settings/authentication/saml:
delete:
description: Delete the corresponding tenants SAML configuration.
operationId: deleteSamlConfig
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Delete SAML configuration
tags:
- Authentication
x-ibm-ahub-byok: true
/api/settings/correction:
get:
operationId: getAllSloCorrectionWindowConfigs
parameters:
- in: query
name: pageSize
schema:
type: integer
format: int32
description: Size of the Page
example: 1
- in: query
name: page
schema:
type: integer
format: int32
description: Page Number
example: 1
- in: query
name: orderBy
schema:
type: string
description: Order By Value
enum:
- name
- start
- nextStart
- duration
- 'null'
example: name
- in: query
name: orderDirection
schema:
type: string
description: 'Order Direction of the Result, it could be ascending or descending'
enum:
- ASC
- DESC
example: ASC
- in: query
name: query
schema:
type: string
description: Keyword or Query which needs to be searched
example: test Correction
- in: query
name: tag
schema:
type: array
description: List of tags which needs to be searched
example: Testing
items:
type: string
description: List of tags which needs to be searched
example: Testing
uniqueItems: true
- in: query
name: id
schema:
type: array
description: List of Correction Configuration IDs for which details need to be fetched
example: SSPTkTWoT1W0OpE_iQbfaA
items:
type: string
description: List of Correction Configuration IDs for which details need to be fetched
example: SSPTkTWoT1W0OpE_iQbfaA
- in: query
name: sloId
schema:
type: array
description: List of SLO IDs for which details need to be fetched
example: SLOdCTspkHlS_OzNOATQWgsuw
items:
type: string
description: List of SLO IDs for which details need to be fetched
example: SLOdCTspkHlS_OzNOATQWgsuw
- in: query
name: refresh
schema:
type: boolean
description: Boolean operator which specifies if the cache needs to be refreshed
example: false
responses:
'200':
content:
application/json:
example:
items:
- id: N9RdTL-WQkSTa3DYZidxzw
name: Correction test 2
description: Correction test 2
active: false
createdDate: 1749638253403
lastUpdated: 1749595053386
scheduling:
startTime: 1749664800000
duration: 2
durationUnit: hour
recurrentRule: FREQ=DAILY;INTERVAL=1
recurrent: true
sloIds:
- SLOBL-EmhZZQRy-19JVEivEdg
tags: []
- id: p9kWax0uS7K2Who1WegsSg
name: New test for DST corrections - Test-1
description: This is to minimize impacts from DST
active: true
createdDate: 1749514781416
lastUpdated: 1749514780649
scheduling:
startTime: 1748775600000
duration: 10
durationUnit: hour
recurrentRule: FREQ=DAILY;INTERVAL=1
recurrent: true
sloIds:
- SLOffwtrVkfRmCjOZbdv3Ls9g
tags:
- seasonal
- once
- id: b1T4ShnZS-qaORzBTAFRTA
name: test rrule - one time
description: test
active: true
createdDate: 1750161592895
lastUpdated: 1750161592139
scheduling:
startTime: 1750287600000
duration: 24
durationUnit: hour
recurrentRule: ''
recurrent: false
sloIds:
- SLOffwtrVkfRmCjOZbdv3Ls9g
tags: []
page: 1
pageSize: 10000
totalHits: 3
schema:
$ref: '#/components/schemas/PaginatedResult'
description: Fetched list of the SLO Correction Window Configurations Successfully
security:
- ApiKeyAuth:
- Default
summary: Get All SLO Correction Window Configs
tags:
- SLO Correction Configurations
x-ibm-ahub-byok: true
post:
operationId: createSloCorrectionWindowConfig
requestBody:
content:
application/json:
example:
name: New test for DST corrections Test-9
description: This is to check report API
active: true
scheduling:
startTime: 1749607200000
duration: 3
durationUnit: HOUR
recurrentRule: FREQ=DAILY;INTERVAL=1
sloIds:
- SLO4s-fs-GuT56c3v4KzQKBuQ
tags:
- test
- rrule
schema:
$ref: '#/components/schemas/CorrectionConfiguration'
required: true
responses:
'200':
content:
application/json:
example:
id: S8rHrE93Rz2TXScTjBw1eg
name: New test for DST corrections Test-9
description: This is to check report API
active: true
createdDate: 1750179360429
lastUpdated: 1750179359948
scheduling:
startTime: 1749607200000
duration: 3
durationUnit: hour
recurrentRule: FREQ=DAILY;INTERVAL=1
recurrent: true
sloIds:
- SLO4s-fs-GuT56c3v4KzQKBuQ
tags:
- rrule
- test
schema:
$ref: '#/components/schemas/CorrectionConfiguration'
description: New SLO Correction Window Configuration Created Successfully
security:
- ApiKeyAuth:
- canConfigureServiceLevelCorrectionWindows
summary: Create a new SLO Correction Window Config
tags:
- SLO Correction Configurations
x-ibm-ahub-byok: true
'/api/settings/correction/{id}':
delete:
operationId: deleteSloCorrectionWindowConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: SLO Correction Window Configuration ID
example: cvLxfzNJQriV86MQTqOu1g
responses:
'204':
description: SLO Correction Window Configuration Deleted Successfully
security:
- ApiKeyAuth:
- canConfigureServiceLevelCorrectionWindows
summary: Delete an existing SLO Correction Window Configuration
tags:
- SLO Correction Configurations
x-ibm-ahub-byok: true
get:
operationId: getSloCorrectionWindowConfigById
parameters:
- in: path
name: id
required: true
schema:
type: string
description: SLO Correction Window Configuration ID
example: dCTspkffgHlS_OzNOATQWgsuw
- in: query
name: refresh
schema:
type: boolean
description: Boolean operator which specifies if the cache needs to be refreshed
example: false
responses:
'200':
content:
application/json:
example:
id: S8rHrE93Rz2TXScTjBw1eg
name: New test for DST corrections Test-9
description: This is to check report API
active: true
createdDate: 1750179360429
lastUpdated: 1750179359948
scheduling:
startTime: 1749607200000
duration: 3
durationUnit: hour
recurrentRule: FREQ=DAILY;INTERVAL=1
recurrent: true
sloIds:
- SLO4s-fs-GuT56c3v4KzQKBuQ
tags:
- rrule
- test
schema:
$ref: '#/components/schemas/CorrectionConfiguration'
description: Fetched SLO Correction Window Configuration Successfully
'404':
content:
application/json:
example:
errors:
- The SLO Correction Window Configuration you are looking for does not exist.
schema:
type: string
description: SLO Correction Window Configuration Not Found
security:
- ApiKeyAuth:
- Default
summary: Get an existing SLO Correction Window Config
tags:
- SLO Correction Configurations
x-ibm-ahub-byok: true
put:
operationId: updateSloCorrectionWindowConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: SLO Correction Window Configuration ID
example: cvLxfzNJQriV86MQTqOu1g
requestBody:
content:
application/json:
example:
name: New test for DST corrections Test-9
description: This is to check report API
active: true
scheduling:
startTime: 1749607200000
duration: 3
durationUnit: HOUR
recurrentRule: FREQ=DAILY;INTERVAL=1
sloIds:
- SLO4s-fs-GuT56c3v4KzQKBuQ
tags:
- test
- rrule
schema:
$ref: '#/components/schemas/CorrectionConfiguration'
required: true
responses:
'200':
content:
application/json:
example:
id: S8rHrE93Rz2TXScTjBw1eg
name: New test for DST corrections Test-9
description: This is to check report API
active: true
createdDate: 1750179360429
lastUpdated: 1750179359948
scheduling:
startTime: 1749607200000
duration: 3
durationUnit: hour
recurrentRule: FREQ=DAILY;INTERVAL=1
recurrent: true
sloIds:
- SLO4s-fs-GuT56c3v4KzQKBuQ
tags:
- rrule
- test
schema:
$ref: '#/components/schemas/CorrectionConfiguration'
description: Updated SLO Correction Window Configuration Successfully
'404':
content:
application/json:
example:
errors:
- The SLO Correction Window Configuration you are looking for does not exist.
schema:
type: string
description: SLO Correction Window Configuration Not Found
security:
- ApiKeyAuth:
- canConfigureServiceLevelCorrectionWindows
summary: Update an existing SLO Correction Window Config
tags:
- SLO Correction Configurations
x-ibm-ahub-byok: true
/api/settings/invitation/share:
post:
operationId: shareAndInviteUsers
requestBody:
content:
application/json:
example:
- email: username@example.com
groupId: '-1'
message: hello message
path: /testpath
schema:
type: array
items:
$ref: '#/components/schemas/Invitation'
required: true
responses:
'200':
content:
application/json:
example:
invitationResults:
- userEmail: username@example.com
invitationStatus: SUCCESS
schema:
type: array
items:
$ref: '#/components/schemas/InvitationResponse'
description: OK
'400':
content:
application/json:
example:
errors:
- Please set at least one email
schema:
type: string
description: Bad Request Error
security:
- ApiKeyAuth:
- CanConfigureUsers
summary: Send user invitations
tags:
- User
x-ibm-ahub-byok: true
description: |-
This API endpoint allows to invite users to this tenant.
Each user requires the email address and the group to which the user will be added initially.
Inviting users whilst an IdP is configured will always result in failures, as in this case users will be provisioned during the login based on the IdP configuration.
During the IdP configurations all pending invitations are automatically revoked.
Inviting users who are already members of the tenant will also provide an error result.
/api/settings/invitations:
delete:
operationId: revokePendingInvitation
parameters:
- description: Email of the invite for removal
example: username@example.com
in: query
name: email
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureUsers
summary: Revoke pending invitation
tags:
- User
x-ibm-ahub-byok: true
description: |
This API endpoint allows to delete an invitation, requires the users’ email as a Query parameter.
get:
operationId: getInvitations
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/InvitationResult'
description: OK
security:
- ApiKeyAuth:
- CanConfigureUsers
summary: All pending invitations
tags:
- User
x-ibm-ahub-byok: true
description: |-
This API endpoint retrieves the list of all pending invitations.
During the IdP configuration all pending invitations will be dismissed and whilst an IdP is configured invitations are prevented.
post:
operationId: inviteUsers
requestBody:
content:
application/json:
example:
- email: username@example.com
groupId: '-1'
schema:
type: array
items:
$ref: '#/components/schemas/Invitation'
required: true
responses:
'200':
content:
application/json:
example:
invitationResults:
- userEmail: username@example.com
invitationStatus: SUCCESS
schema:
type: array
items:
$ref: '#/components/schemas/InvitationResponse'
description: OK
'400':
content:
application/json:
example:
errors:
- Please set at least one email
schema:
type: string
description: Bad Request Error
security:
- ApiKeyAuth:
- CanConfigureUsers
summary: Send user invitations
tags:
- User
x-ibm-ahub-byok: true
description: |-
This API endpoint allows to invite users to this tenant.
Each user requires the email address and the group to which the user will be added initially.
Inviting users whilst an IdP is configured will always result in failures, as in this case users will be provisioned during the login based on the IdP configuration.
During the IdP configurations all pending invitations are automatically revoked.
Inviting users who are already members of the tenant will also provide an error result.
/api/settings/maintenance:
get:
deprecated: true
description: |-
For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations.
operationId: getMaintenanceConfigs
responses:
'200':
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ValidatedMaintenanceConfigWithStatus'
description: OK
security:
- ApiKeyAuth:
- CanConfigureMaintenanceWindows
summary: All maintenance configurations
tags:
- Maintenance Configuration
x-ibm-ahub-byok: true
'/api/settings/maintenance/{id}':
delete:
deprecated: true
description: |-
For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations.
operationId: deleteMaintenanceConfig
parameters:
- description: ID of the Maintenance Window Configuration to delete.
example: MPhKWoXRp0PBelqk
in: path
name: id
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureMaintenanceWindows
summary: Delete maintenance configuration
tags:
- Maintenance Configuration
x-ibm-ahub-byok: true
get:
deprecated: true
description: |-
For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations.
operationId: getMaintenanceConfig
parameters:
- description: ID of the Maintenance Window Configuration to get.
example: MPhKWoXRp0PBelqk
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceConfigWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- CanConfigureMaintenanceWindows
summary: Maintenance configuration
tags:
- Maintenance Configuration
x-ibm-ahub-byok: true
put:
deprecated: true
description: |-
For more information on Maintenance Configurations please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#maintenance-configurations.
operationId: putMaintenanceConfig
parameters:
- description: ID of the Maintenance Window Configuration to update.
example: MPhKWoXRp0PBelqk
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceConfig'
required: true
responses:
'200':
description: 'Maintenance config has been created or updated, and successfully scheduled immediately if needed'
'202':
description: 'Maintenance config has been created or updated, but could not to be scheduled immediately. It will therefore be scheduled during the next auto-refresh with a delay of up to 4 minutes.'
'400':
description: Invalid JSON or mismatching IDs have been provided
security:
- ApiKeyAuth:
- CanConfigureMaintenanceWindows
summary: Create or update maintenance configuration
tags:
- Maintenance Configuration
x-ibm-ahub-byok: true
/api/settings/rbac/groups:
get:
operationId: getGroups
responses:
'200':
content:
application/json:
example:
- id: groupId1
name: group1
members:
- userId: userId1
email: username1@example.com
- userId: userId2
email: username2@example.com
- id: groupId2
name: group2
members:
- userId: userId1
email: username1@example.com
- userId: userId3
email: username3@example.com
schema:
type: array
items:
$ref: '#/components/schemas/ApiGroup'
description: OK
'404':
description: No groups found
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Get groups
tags:
- Groups
x-ibm-ahub-byok: true
description: |-
Retrieve the list of all groups on the tenant together with the `Permission Set` for the tenant unit.
The `Permission Set` object contains a set of permissions applied to the group.
In case `permissions` include the entry e.g. `LIMITED_APPLICATIONS_SCOPE`, this group will have limited access to application area.
The areas are included inside the `permissionSet`.
The scopeRoleId is a fixed value for each area type:
| Area | value |
| ----------------------- | ------------- |
| applicationIds | -100 |
| kubernetesClusterUUIDs | -200 |
| kubernetesNamespaceUIDs | -300 |
| websiteIds | -400 |
| mobileAppIds | -500 |
| infraDfqFilter | -600 |
For example:
```
[
{
"id": "7hwdhtt7TU2CJDgYXgwwww",
"name": "Scoped Group",
"members": [
{
"userId": "61892cfdfcffab03016b2950",
"email": "jhon@example.com"
}
],
"permissionSet": {
"permissions": [
"CAN_VIEW_LOGS",
"CAN_VIEW_TRACE_DETAILS",
"CAN_EDIT_ALL_ACCESSIBLE_CUSTOM_DASHBOARDS",
"ACCESS_APPLICATIONS",
"LIMITED_APPLICATIONS_SCOPE",
"ACCESS_KUBERNETES",
"LIMITED_KUBERNETES_SCOPE",
"ACCESS_INFRASTRUCTURE_APPS",
"LIMITED_INFRASTRUCTURE_SCOPE",
"LIMITED_WEBSITES_SCOPE",
],
"applicationIds": [
{
"scopeId": "1qvWgVfLTNqi9gGTcCaNUw",
"scopeRoleId": "-100"
}
],
"kubernetesClusterUUIDs": [
{
"scopeId": "induced",
"scopeRoleId": "-200"
}
],
"kubernetesNamespaceUIDs": [],
"websiteIds": [],
"mobileAppIds": [],
"infraDfqFilter": {
"scopeId": "production",
"scopeRoleId": "-600"
}
}
]
```
In this case `Scoped Group` has no access to websites due to having `LIMITED_WEBSITES_SCOPE` but not `ACCESS_WEBSITES`.
Also due to having `LIMITED_APPLICATIONS_SCOPE`, the only visible application is the one with this id: `1qvWgVfLTNqi9gGTcCaNUw`.
Same applies to `kubernetesClusterUUIDs`, `kubernetesNamespaceUIDs` and `infraDfqFilter`, with the only difference is that `infraDfqFilter`
uses a filter "production" instead of an id.
post:
operationId: createGroup
requestBody:
content:
application/json:
example:
name: group name
members:
- userId: userId
email: username@example.com
permissionSet:
permissions:
- CAN_VIEW_LOGS
applicationIds:
- scopeId: scopeId1
scopeRoleId: '-102'
kubernetesClusterUUIDs: []
kubernetesNamespaceUIDs: []
websiteIds: []
mobileAppIds: []
syntheticTestIds:
- scopeId: scopeId10
scopeRoleId: '-1'
restrictedApplicationFilter:
label: group name
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: acceptor
numberValue: null
booleanValue: null
key: null
value: acceptor
operator: EQUALS
entity: DESTINATION
scope: INCLUDE_NO_DOWNSTREAM
infraDfqFilter:
scopeId: ''
scopeRoleId: '-1'
actionFilter:
scopeId: ''
scopeRoleId: '-1'
schema:
$ref: '#/components/schemas/ApiCreateGroup'
required: true
responses:
'200':
content:
application/json:
example:
name: group name
members:
- userId: userId
email: username@example.com
permissionSet:
permissions:
- CAN_VIEW_LOGS
applicationIds:
- scopeId: scopeId1
scopeRoleId: '-102'
kubernetesClusterUUIDs: []
kubernetesNamespaceUIDs: []
websiteIds: []
mobileAppIds: []
syntheticTestIds:
- scopeId: scopeId10
scopeRoleId: '-1'
restrictedApplicationFilter:
label: group name
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: acceptor
numberValue: null
booleanValue: null
key: null
value: acceptor
operator: EQUALS
entity: DESTINATION
scope: INCLUDE_NO_DOWNSTREAM
infraDfqFilter:
scopeId: ''
scopeRoleId: '-1'
actionFilter:
scopeId: ''
scopeRoleId: '-1'
schema:
$ref: '#/components/schemas/ApiGroup'
description: OK
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Create group
tags:
- Groups
x-ibm-ahub-byok: true
description: |-
Creates a group on the tenant. Each group entry also needs a `Permission Set` per unit.
The `Permission Set` object contains a set of permissions applied to the group.
In case `permissions` include the entry e.g. `LIMITED_APPLICATIONS_SCOPE`, this group will have limited access to application area.
Possible access permissions values are:
- `ACCESS_APPLICATIONS`
- `ACCESS_INFRASTRUCTURE`
- `ACCESS_KUBERNETES`
- `ACCESS_MOBILE_APPS`
- `ACCESS_WEBSITES`
- `LIMITED_APPLICATIONS_SCOPE`
- `LIMITED_INFRASTRUCTURE_SCOPE`
- `LIMITED_KUBERNETES_SCOPE`
- `LIMITED_MOBILE_APPS_SCOPE`
- `LIMITED_WEBSITES_SCOPE`
The `id` value for the group is ignored, a new id is generated.
The `scopeRoleId` is ignored, the id corresponding to the area is used.
The `scopeId` is the id for the corresponding resource.
/api/settings/rbac/groups/delete:
put:
description: |-
Delete multiple groups
For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups.
operationId: deleteGroups
requestBody:
content:
application/json:
schema:
type: array
items:
type: string
uniqueItems: true
required: true
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Delete groups
tags:
- Groups
x-ibm-ahub-byok: true
'/api/settings/rbac/groups/user/{email}':
get:
operationId: getGroupsByUser
parameters:
- description: Email of the user for retrieval
example: username@example.com
in: path
name: email
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
example:
- id: groupId
name: group name
members:
- userId: userId
email: username@example.com
permissionSet:
permissions:
- CAN_VIEW_LOGS
- LIMITED_APPLICATIONS_SCOPE
- ACCESS_APPLICATIONS
- CAN_VIEW_TRACE_DETAILS
applicationIds:
- scopeId: scopeId1
scopeRoleId: '-102'
kubernetesClusterUUIDs: []
kubernetesNamespaceUIDs: []
websiteIds: []
mobileAppIds: []
syntheticTestIds: []
restrictedApplicationFilter:
label: filter name
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: acceptor
numberValue: null
booleanValue: null
key: null
value: acceptor
operator: EQUALS
entity: DESTINATION
scope: INCLUDE_NO_DOWNSTREAM
infraDfqFilter:
scopeId: ''
scopeRoleId: '-1'
actionFilter:
scopeId: ''
scopeRoleId: '-1'
schema:
type: array
items:
$ref: '#/components/schemas/ApiGroup'
description: OK
'404':
description: No groups found
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Get groups of a single user
tags:
- Groups
x-ibm-ahub-byok: true
description: 'Returns a list of all groups a user belongs to. This includes data from these groups, the `members`, the `name` and the `Permission set`.'
'/api/settings/rbac/groups/{groupId}/permissions':
put:
operationId: addPermissionsOnGroup
parameters:
- description: Id of the group to add permissions
example: groupId
in: path
name: groupId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
example:
- CAN_VIEW_SYNTHETIC_TESTS
- CAN_VIEW_SYNTHETIC_LOCATIONS
- CAN_CONFIGURE_AUTOMATION_ACTIONS
schema:
type: array
items:
type: string
required: true
responses:
'200':
content:
application/json:
example:
id: groupId
name: group name
members:
- userId: userId1
email: username1@example.com
permissionSet:
permissions:
- CAN_VIEW_LOGS
- CAN_VIEW_SYNTHETIC_TESTS
- CAN_VIEW_SYNTHETIC_LOCATIONS
- CAN_CONFIGURE_AUTOMATION_ACTIONS
applicationIds: []
kubernetesClusterUUIDs: []
kubernetesNamespaceUIDs: []
websiteIds: []
mobileAppIds: []
syntheticTestIds: []
infraDfqFilter:
scopeId: ''
scopeRoleId: '-1'
actionFilter:
scopeId: ''
scopeRoleId: '-1'
schema:
$ref: '#/components/schemas/ApiGroup'
description: OK
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Add permissions to group
tags:
- Groups
x-ibm-ahub-byok: true
description: |
Add a permission to a group. Permissions are strings associated with the group that some resources requires to fulfill requests.
Examples of `Permissions`:
- `ACCESS_APPLICATIONS`
- `ACCESS_INFRASTRUCTURE`
- `ACCESS_KUBERNETES`
- `ACCESS_MOBILE_APPS`
- `ACCESS_WEBSITES`
- `CAN_CONFIGURE_AGENT_RUN_MODE`
- `CAN_CONFIGURE_AGENTS`
- `CAN_CONFIGURE_API_TOKENS`
- `CAN_CONFIGURE_APPLICATIONS`
- `CAN_CONFIGURE_AUTHENTICATION_METHODS`
- `CAN_CONFIGURE_CUSTOM_ALERTS`
- `CAN_CONFIGURE_EUM_APPLICATIONS`
- `CAN_CONFIGURE_GLOBAL_ALERT_CONFIGS`
- `CAN_CONFIGURE_GLOBAL_ALERT_PAYLOAD`
- `CAN_CONFIGURE_INTEGRATIONS`
- `CAN_CONFIGURE_LOG_MANAGEMENT`
- `CAN_CONFIGURE_MOBILE_APP_MONITORING`
- `CAN_CONFIGURE_PERSONAL_API_TOKENS`
- `CAN_CONFIGURE_RELEASES`
- `CAN_CONFIGURE_SERVICE_LEVEL_INDICATORS`
- `CAN_CONFIGURE_SERVICE_MAPPING`
- `CAN_CONFIGURE_SESSION_SETTINGS`
- `CAN_CONFIGURE_TEAMS`
- `CAN_CONFIGURE_USERS`
- `CAN_CREATE_PUBLIC_CUSTOM_DASHBOARDS`
- `CAN_EDIT_ALL_ACCESSIBLE_CUSTOM_DASHBOARDS`
- `CAN_INSTALL_NEW_AGENTS`
- `CAN_VIEW_ACCOUNT_AND_BILLING_INFORMATION`
- `CAN_VIEW_AUDIT_LOG`
- `CAN_VIEW_LOGS`
- `CAN_VIEW_TRACE_DETAILS`
- `LIMITED_APPLICATIONS_SCOPE`
- `LIMITED_INFRASTRUCTURE_SCOPE`
- `LIMITED_KUBERNETES_SCOPE`
- `LIMITED_MOBILE_APPS_SCOPE`
- `LIMITED_WEBSITES_SCOPE`
'/api/settings/rbac/groups/{groupId}/users':
put:
operationId: addUsersToGroup
parameters:
- description: Id of the group to add users
example: groupId
in: path
name: groupId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
example:
- userId1
- userId3
schema:
type: array
items:
type: string
required: true
responses:
'200':
content:
application/json:
example:
id: groupId
name: group name
members:
- userId: userId1
email: username1@example.com
- userId: userId2
email: username2@example.com
- userId: userId3
email: username3@example.com
permissionSet:
permissions:
- CAN_VIEW_LOGS
applicationIds: []
kubernetesClusterUUIDs: []
kubernetesNamespaceUIDs: []
websiteIds: []
mobileAppIds: []
syntheticTestIds: []
infraDfqFilter:
scopeId: ''
scopeRoleId: '-1'
actionFilter:
scopeId: ''
scopeRoleId: '-1'
schema:
$ref: '#/components/schemas/ApiGroup'
description: OK
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Add users to group
tags:
- Groups
x-ibm-ahub-byok: true
description: Add one or more users to a group. The array contains the ids of the users to be added.
'/api/settings/rbac/groups/{id}':
delete:
description: |-
Delete the group data.
For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups.
operationId: deleteGroup
parameters:
- description: Id of the group to delete
example: groupId
in: path
name: id
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Delete group
tags:
- Groups
x-ibm-ahub-byok: true
get:
operationId: getGroup
parameters:
- description: Id of the group for retrieval
example: groupId
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: groupId
name: group name
members:
- userId: userId
email: username@example.com
permissionSet:
permissions:
- ACCESS_INFRASTRUCTURE
- LIMITED_WEBSITES_SCOPE
- CAN_VIEW_SYNTHETIC_TESTS
- CAN_VIEW_SYNTHETIC_LOCATIONS
- CAN_VIEW_TRACE_DETAILS
- CAN_CONFIGURE_AGENT_RUN_MODE
- CAN_CONFIGURE_AUTOMATION_ACTIONS
- CAN_CONFIGURE_USERS
- ACCESS_SYNTHETICS
- CAN_VIEW_LOGS
- LIMITED_KUBERNETES_SCOPE
- CAN_CONFIGURE_TEAMS
- CAN_VIEW_SYNTHETIC_TEST_RESULTS
- LIMITED_SYNTHETICS_SCOPE
- LIMITED_INFRASTRUCTURE_SCOPE
applicationIds:
- scopeId: scopeId1
scopeRoleId: '-102'
- scopeId: scopeId2
scopeRoleId: '-102'
- scopeId: scopeId3
scopeRoleId: '-102'
- scopeId: scopeId4
scopeRoleId: '-102'
- scopeId: scopeId5
scopeRoleId: '-102'
- scopeId: scopeId6
scopeRoleId: '-102'
kubernetesClusterUUIDs: []
kubernetesNamespaceUIDs: []
websiteIds: []
mobileAppIds: []
syntheticTestIds:
- scopeId: scopeId10
scopeRoleId: '-1'
restrictedApplicationFilter:
label: filter name
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: acceptor
numberValue: null
booleanValue: null
key: null
value: acceptor
operator: EQUALS
entity: DESTINATION
scope: INCLUDE_NO_DOWNSTREAM
infraDfqFilter:
scopeId: ''
scopeRoleId: '-1'
actionFilter:
scopeId: ''
scopeRoleId: '-1'
schema:
$ref: '#/components/schemas/ApiGroup'
description: OK
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Get group
tags:
- Groups
x-ibm-ahub-byok: true
description: 'Returns group data, including the `Permission set`. See [get groups](#operation/getGroups) for more details.'
put:
operationId: updateGroup
parameters:
- description: Id of the group to update
example: groupId
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
name: group name
members:
- userId: userId
email: username@example.com
permissionSet:
permissions:
- CAN_VIEW_LOGS
applicationIds:
- scopeId: scopeId1
scopeRoleId: '-102'
kubernetesClusterUUIDs: []
kubernetesNamespaceUIDs: []
websiteIds: []
mobileAppIds: []
syntheticTestIds:
- scopeId: scopeId10
scopeRoleId: '-1'
restrictedApplicationFilter:
label: group name
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: acceptor
numberValue: null
booleanValue: null
key: null
value: acceptor
operator: EQUALS
entity: DESTINATION
scope: INCLUDE_NO_DOWNSTREAM
infraDfqFilter:
scopeId: ''
scopeRoleId: '-1'
actionFilter:
scopeId: ''
scopeRoleId: '-1'
schema:
$ref: '#/components/schemas/ApiGroup'
required: true
responses:
'200':
content:
application/json:
example:
name: group name
members:
- userId: userId
email: username@example.com
permissionSet:
permissions:
- CAN_VIEW_LOGS
applicationIds:
- scopeId: scopeId1
scopeRoleId: '-102'
kubernetesClusterUUIDs: []
kubernetesNamespaceUIDs: []
websiteIds: []
mobileAppIds: []
syntheticTestIds:
- scopeId: scopeId10
scopeRoleId: '-1'
restrictedApplicationFilter:
label: group name
tagFilterExpression:
type: TAG_FILTER
name: service.name
stringValue: acceptor
numberValue: null
booleanValue: null
key: null
value: acceptor
operator: EQUALS
entity: DESTINATION
scope: INCLUDE_NO_DOWNSTREAM
infraDfqFilter:
scopeId: ''
scopeRoleId: '-1'
actionFilter:
scopeId: ''
scopeRoleId: '-1'
schema:
$ref: '#/components/schemas/ApiGroup'
description: OK
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Update group
tags:
- Groups
x-ibm-ahub-byok: true
description: |
Add a permission to a group. Permissions are strings associated with the group that some resources requires to fulfill requests.
Examples of `Permissions`:
- `ACCESS_APPLICATIONS`
- `ACCESS_INFRASTRUCTURE`
- `ACCESS_KUBERNETES`
- `ACCESS_MOBILE_APPS`
- `ACCESS_WEBSITES`
- `CAN_CONFIGURE_AGENT_RUN_MODE`
- `CAN_CONFIGURE_AGENTS`
- `CAN_CONFIGURE_API_TOKENS`
- `CAN_CONFIGURE_APPLICATIONS`
- `CAN_CONFIGURE_AUTHENTICATION_METHODS`
- `CAN_CONFIGURE_CUSTOM_ALERTS`
- `CAN_CONFIGURE_EUM_APPLICATIONS`
- `CAN_CONFIGURE_GLOBAL_ALERT_CONFIGS`
- `CAN_CONFIGURE_GLOBAL_ALERT_PAYLOAD`
- `CAN_CONFIGURE_INTEGRATIONS`
- `CAN_CONFIGURE_LOG_MANAGEMENT`
- `CAN_CONFIGURE_MOBILE_APP_MONITORING`
- `CAN_CONFIGURE_PERSONAL_API_TOKENS`
- `CAN_CONFIGURE_RELEASES`
- `CAN_CONFIGURE_SERVICE_LEVEL_INDICATORS`
- `CAN_CONFIGURE_SERVICE_MAPPING`
- `CAN_CONFIGURE_SESSION_SETTINGS`
- `CAN_CONFIGURE_TEAMS`
- `CAN_CONFIGURE_USERS`
- `CAN_CREATE_PUBLIC_CUSTOM_DASHBOARDS`
- `CAN_EDIT_ALL_ACCESSIBLE_CUSTOM_DASHBOARDS`
- `CAN_INSTALL_NEW_AGENTS`
- `CAN_VIEW_ACCOUNT_AND_BILLING_INFORMATION`
- `CAN_VIEW_AUDIT_LOG`
- `CAN_VIEW_LOGS`
- `CAN_VIEW_TRACE_DETAILS`
- `LIMITED_APPLICATIONS_SCOPE`
- `LIMITED_INFRASTRUCTURE_SCOPE`
- `LIMITED_KUBERNETES_SCOPE`
- `LIMITED_MOBILE_APPS_SCOPE`
- `LIMITED_WEBSITES_SCOPE`
'/api/settings/rbac/groups/{id}/user/{userId}':
delete:
description: |-
Remove the user from a group.
For more information on groups please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#groups.
operationId: removeUserFromGroup
parameters:
- description: Id of the group to remove user from
example: groupId
in: path
name: id
required: true
schema:
type: string
- description: Id of the user to remove
example: userId
in: path
name: userId
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Remove user from group
tags:
- Groups
x-ibm-ahub-byok: true
/api/settings/rbac/mappings:
get:
operationId: getGroupMappings
responses:
'200':
content:
application/json:
example:
- id: mappingId
key: roles
value: analyst
groupId: '-3'
schema:
type: array
items:
$ref: '#/components/schemas/GroupMapping'
description: OK
'404':
description: No group mapping found
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Get all group mappings
tags:
- Groups
x-ibm-ahub-byok: true
description: |-
If mappings between groups on the identity provider (LDAP, OIDC, SAML) and Instana groups where configured, this will return a list of those mappings.
This can be configured through the [api](#operation/createGroupMapping) or on Instana graphical user interface at Settings > Authentication > IDENTITY PROVIDERS > Group Mapping.
post:
operationId: createGroupMapping
requestBody:
content:
application/json:
example:
key: roles
value: analyst
groupId: '-3'
schema:
$ref: '#/components/schemas/GroupMapping'
required: true
responses:
'200':
content:
application/json:
example:
id: mappingId
key: roles
value: analyst
groupId: '-3'
schema:
$ref: '#/components/schemas/GroupMapping'
description: OK
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Create group mapping
tags:
- Groups
x-ibm-ahub-byok: true
description: |-
Creates a mapping between a group from the IdP (LDAP, OIDC, SAML) and an Instana group.
If the IdP is configured and mappings are enabled, the `key` `value` pairs a user sent by the idp will be evaluated every time this user logs in.
If they match the mapping, the user will be assigned to the group corresponding to the `groupId`.
Inside the payload, the `id` for the mapping is ignored, and instead, Instana generates a new id.
/api/settings/rbac/mappings/delete:
put:
operationId: deleteGroupMappings
requestBody:
content:
application/json:
example:
- firstid
- secondid
schema:
type: string
required: true
responses:
'204':
description: OK
'422':
description: invalid request
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Delete multiple group mappings
tags:
- Groups
x-ibm-ahub-byok: true
/api/settings/rbac/mappings/identityProvider/restrictEmptyIdpGroups:
get:
operationId: getIdentityProviderPatch
responses:
'200':
content:
application/json:
example:
restrictEmptyIdpGroups: false
schema:
$ref: '#/components/schemas/IdentityProviderPatch'
description: OK
'404':
description: No group mapping restriction found
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Check user restrictions for empty Idp group mapping
tags:
- Groups
x-ibm-ahub-byok: true
description: Returns `RestrictEmptyIdpGroups` value indicating if access is denied for empty Idp group mapping. `RestrictEmptyIdpGroups = true` indicates that the tenant is locked and only those users are allowed access that have at least one working mapping rule applied to them during the login process.
put:
operationId: updateIdentityProvider
requestBody:
content:
application/json:
example:
restrictEmptyIdpGroups: true
schema:
$ref: '#/components/schemas/IdentityProviderPatch'
required: true
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Allow/Restrict users with empty Idp group mapping
tags:
- Groups
x-ibm-ahub-byok: true
description: 'Set the RestrictEmptyIdpGroups value as true/false. See [Check user restrictions for empty Idp group mapping](#operation/getIdentityProviderPatch) for more details.'
/api/settings/rbac/mappings/overview:
get:
operationId: getGroupMappingsOverview
responses:
'200':
content:
application/json:
example:
- id: mappingId
key: roles
value: analyst
role: default
team: testing
schema:
type: array
items:
$ref: '#/components/schemas/GroupMappingOverview'
description: OK
'404':
description: No group mapping overviews found
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Get all group mappings overview
tags:
- Groups
x-ibm-ahub-byok: true
'/api/settings/rbac/mappings/{id}':
delete:
operationId: deleteGroupMapping
parameters:
- description: Id of the group mapping to delete
example: mappingId
in: path
name: id
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Delete group mapping
tags:
- Groups
x-ibm-ahub-byok: true
get:
operationId: getGroupMapping
parameters:
- in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: mappingId
key: roles
value: analyst
groupId: '-3'
schema:
$ref: '#/components/schemas/GroupMapping'
description: OK
'404':
description: No group mapping found
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Get group mapping
tags:
- Groups
x-ibm-ahub-byok: true
put:
operationId: updateGroupMapping
parameters:
- description: Id of the group mapping to update
example: mappingId
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
id: mappingId
key: roles
value: analyst
groupId: '-3'
schema:
$ref: '#/components/schemas/GroupMapping'
required: true
responses:
'200':
content:
application/json:
example:
id: mappingId
key: roles
value: analyst
groupId: '-3'
schema:
$ref: '#/components/schemas/GroupMapping'
description: OK
security:
- ApiKeyAuth:
- CanConfigureAuthenticationMethods
summary: Update group mapping
tags:
- Groups
x-ibm-ahub-byok: true
description: 'See [creating group mapping](#operation/createGroupMapping)'
/api/settings/rbac/roles:
get:
description: Retrieve all roles for the current tenant unit.
operationId: getRoles
responses:
'200':
content:
application/json:
example:
- id: role-1
name: Administrator
members:
- userId: user-1
email: admin@example.com
name: Admin User
- userId: user-2
email: manager@example.com
name: Manager User
permissions:
- CAN_CONFIGURE_APPLICATIONS
- CAN_CONFIGURE_EVENTS
- CAN_CONFIGURE_INFRASTRUCTURE
- CAN_CONFIGURE_TEAMS
- id: role-2
name: Developer
members:
- userId: user-3
email: dev1@example.com
name: Developer One
- userId: user-4
email: dev2@example.com
name: Developer Two
permissions:
- CAN_VIEW_APPLICATIONS
- CAN_VIEW_EVENTS
- CAN_VIEW_INFRASTRUCTURE
schema:
type: array
items:
$ref: '#/components/schemas/ApiRole'
description: OK
'404':
description: No roles found
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Get all roles
tags:
- Roles
x-ibm-ahub-byok: true
post:
description: Create a new role.
operationId: createRole
requestBody:
content:
application/json:
example:
name: New Role
members:
- userId: user-5
email: newuser@example.com
name: New User
permissions:
- CAN_VIEW_APPLICATIONS
- CAN_VIEW_EVENTS
schema:
$ref: '#/components/schemas/ApiCreateRole'
description: Role to create
required: true
responses:
'200':
content:
application/json:
example:
id: role-3
name: New Role
members:
- userId: user-5
email: newuser@example.com
name: New User
permissions:
- CAN_VIEW_APPLICATIONS
- CAN_VIEW_EVENTS
schema:
$ref: '#/components/schemas/ApiRole'
description: OK
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Create role
tags:
- Roles
x-ibm-ahub-byok: true
'/api/settings/rbac/roles/{id}':
delete:
description: Delete a role by ID.
operationId: deleteRole
parameters:
- description: Id of the role to delete
example: roleId
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Role successfully deleted
'404':
description: Role not found
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Delete role
tags:
- Roles
x-ibm-ahub-byok: true
get:
description: Retrieve a specific role by its ID.
operationId: getRole
parameters:
- description: Id of the role for retrieval
example: roleId
in: path
name: id
required: true
schema:
type: string
- in: query
name: includeTeamUsage
schema:
type: boolean
responses:
'200':
content:
application/json:
example:
id: role-1
name: Administrator
members:
- userId: user-1
email: admin@example.com
name: Admin User
- userId: user-2
email: manager@example.com
name: Manager User
permissions:
- CAN_CONFIGURE_APPLICATIONS
- CAN_CONFIGURE_EVENTS
- CAN_CONFIGURE_INFRASTRUCTURE
- CAN_CONFIGURE_TEAMS
schema:
$ref: '#/components/schemas/ApiRole'
description: OK
'404':
description: Role not found
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Get role by ID
tags:
- Roles
x-ibm-ahub-byok: true
put:
description: Update an existing role by ID.
operationId: updateRole
parameters:
- description: Id of the role to update
example: roleId
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
id: role-2
name: Updated Developer Role
members:
- userId: user-3
email: dev1@example.com
name: Developer One
- userId: user-4
email: dev2@example.com
name: Developer Two
- userId: user-6
email: dev3@example.com
name: Developer Three
permissions:
- CAN_VIEW_APPLICATIONS
- CAN_VIEW_EVENTS
- CAN_VIEW_INFRASTRUCTURE
- CAN_CONFIGURE_APPLICATIONS
schema:
$ref: '#/components/schemas/ApiRole'
description: Updated role data
required: true
responses:
'200':
content:
application/json:
example:
id: role-2
name: Updated Developer Role
members:
- userId: user-3
email: dev1@example.com
name: Developer One
- userId: user-4
email: dev2@example.com
name: Developer Two
- userId: user-6
email: dev3@example.com
name: Developer Three
permissions:
- CAN_VIEW_APPLICATIONS
- CAN_VIEW_EVENTS
- CAN_VIEW_INFRASTRUCTURE
- CAN_CONFIGURE_APPLICATIONS
schema:
$ref: '#/components/schemas/ApiRole'
description: OK
'404':
description: Role not found
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Update role
tags:
- Roles
x-ibm-ahub-byok: true
/api/settings/rbac/teams:
get:
description: Retrieve all user teams for the current tenant unit.
operationId: getTeams
responses:
'200':
content:
application/json:
example:
- id: teamId1
tag: team1
info:
description: Team 1 description
scope:
accessPermissions:
- CAN_CONFIGURE_APPLICATIONS
- CAN_CONFIGURE_EVENTS
restrictedApplicationFilter: null
applications:
- app-123
- app-456
websites: []
mobileApps: []
kubernetesClusters:
- cluster-1
kubernetesNamespaces: []
syntheticTests: []
syntheticCredentials: []
businessPerspectives: []
tagIds:
- tag-1
actionFilter: ''
logFilter: ''
infraDfqFilter: ''
members:
- userId: userId1
email: username1@example.com
name: User One
roles:
- roleId: role-1
roleName: Admin
viaIdP: false
- userId: userId2
email: username2@example.com
name: User Two
roles:
- roleId: role-2
roleName: Developer
viaIdP: false
- id: teamId2
tag: team2
info:
description: Team 2 description
scope:
accessPermissions:
- CAN_CONFIGURE_INFRASTRUCTURE
restrictedApplicationFilter: null
applications: []
websites: []
mobileApps: []
kubernetesClusters: []
kubernetesNamespaces:
- namespace-1
syntheticTests: []
syntheticCredentials: []
businessPerspectives: []
tagIds: []
actionFilter: ''
logFilter: ''
infraDfqFilter: ''
members:
- userId: userId1
email: username1@example.com
name: User One
roles:
- roleId: role-1
roleName: Admin
viaIdP: false
- userId: userId3
email: username3@example.com
name: User Three
roles:
- roleId: role-3
roleName: Operator
viaIdP: true
schema:
type: array
items:
$ref: '#/components/schemas/ApiTeam'
description: OK
'404':
description: No teams found
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Get all teams
tags:
- Teams
x-ibm-ahub-byok: true
post:
description: Create a new team.
operationId: createTeam
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApiTeam'
description: Team to create
required: true
responses:
'200':
description: Team created successfully
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Create team
tags:
- Teams
x-ibm-ahub-byok: true
'/api/settings/rbac/teams/{id}':
delete:
description: Delete the team data.
operationId: deleteTeam
parameters:
- description: Id of the team to delete
example: teamId
in: path
name: id
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Delete team
tags:
- Teams
x-ibm-ahub-byok: true
get:
description: Retrieve a specific team by its ID.
operationId: getTeam
parameters:
- description: Id of the team for retrieval
example: teamId
in: path
name: id
required: true
schema:
type: string
- in: query
name: includeTeamUsage
schema:
type: boolean
responses:
'200':
content:
application/json:
example:
id: team-1
tag: Development Team
info:
description: Team responsible for application development
scope:
accessPermissions:
- CAN_CONFIGURE_APPLICATIONS
- CAN_CONFIGURE_EVENTS
restrictedApplicationFilter:
restrictingApplicationId: app-123
applications:
- app-123
- app-456
websites:
- website-1
mobileApps:
- mobile-1
kubernetesClusters:
- cluster-1
kubernetesNamespaces:
- namespace-1
syntheticTests:
- test-1
syntheticCredentials: []
businessPerspectives:
- bp-1
tagIds:
- tag-1
- tag-2
actionFilter: ''
logFilter: ''
infraDfqFilter: ''
members:
- userId: user-1
email: user1@example.com
name: John Doe
roles:
- roleId: role-1
roleName: Admin
viaIdP: false
- userId: user-2
email: user2@example.com
name: Jane Smith
roles:
- roleId: role-2
roleName: Developer
viaIdP: false
schema:
$ref: '#/components/schemas/ApiTeam'
description: Successfully retrieved the team
'404':
description: Team not found
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Get team by ID
tags:
- Teams
x-ibm-ahub-byok: true
put:
description: Update an existing team by ID.
operationId: updateTeam
parameters:
- description: Id of the team to update
example: teamId
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ApiTeam'
responses:
'200':
description: Team updated successfully
'404':
description: Team not found
security:
- ApiKeyAuth:
- CanConfigureTeams
summary: Update team
tags:
- Teams
x-ibm-ahub-byok: true
/api/settings/session:
delete:
description: Delete tenant unit session settings.
operationId: deleteSessionSettings
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureSessionSettings
summary: Delete session settings
tags:
- Session Settings
x-ibm-ahub-byok: true
get:
description: Get the tenant unit session settings
operationId: getSessionSettings
responses:
'200':
content:
application/json:
example: |
{
tokenLifeTimeInMillis: 28800000,
idleTimeInMillis: 3600000
}
schema:
$ref: '#/components/schemas/SessionSettings'
description: OK
security:
- ApiKeyAuth:
- CanConfigureSessionSettings
summary: Get session settings
tags:
- Session Settings
x-ibm-ahub-byok: true
put:
description: Update individual tenant unit session settings.
operationId: setSessionSettings
requestBody:
content:
application/json:
example: |
{
tokenLifeTimeInMillis: 28800000,
idleTimeInMillis: 3600000
}
schema:
$ref: '#/components/schemas/SessionSettings'
responses:
'200':
content:
application/json:
example: |
{
tokenLifeTimeInMillis: 28800000,
idleTimeInMillis: 3600000
}
schema:
$ref: '#/components/schemas/SessionSettings'
description: OK
security:
- ApiKeyAuth:
- CanConfigureSessionSettings
summary: Configure session settings
tags:
- Session Settings
x-ibm-ahub-byok: true
/api/settings/sli:
get:
deprecated: true
operationId: getAllSliConfigs
responses:
'200':
content:
application/json:
example:
id: 3J0RDgfyQz-P_hVzbNNb4A
sliName: test-application-sli
initialEvaluationTimestamp: 1732017600000
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 555
sliEntity:
sliType: application
applicationId: btg-B709IU6o9QNXUS4TVw
serviceId: null
endpointId: null
boundaryScope: INBOUND
lastUpdated: 1732017541059
schema:
type: array
items:
$ref: '#/components/schemas/SliConfigurationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get All SLI Configs
tags:
- SLI Settings
x-ibm-ahub-byok: true
post:
deprecated: true
operationId: createSliConfig
requestBody:
content:
application/json:
example:
sliName: test-application-sli
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 555
sliEntity:
sliType: application
applicationId: btg-B709IU6o9QNXUS4TVw
serviceId: null
endpointId: null
boundaryScope: INBOUND
schema:
$ref: '#/components/schemas/SliConfiguration'
required: true
responses:
'200':
content:
application/json:
example:
id: 3J0RDgfyQz-P_hVzbNNb4A
sliName: test-application-sli
initialEvaluationTimestamp: 1732017600000
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 555
sliEntity:
sliType: application
applicationId: btg-B709IU6o9QNXUS4TVw
serviceId: null
endpointId: null
boundaryScope: INBOUND
lastUpdated: 1732017541059
schema:
$ref: '#/components/schemas/SliConfigurationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- canConfigureServiceLevels
summary: Create SLI Config
tags:
- SLI Settings
x-ibm-ahub-byok: true
description: |
This endpoint creates the Service Level Indicator Configuration
## Mandatory Parameters:
- **id** A unique identifier for each SLI configuration
- **sliName:** Name for the SLI configuration
- **sliEntity:** Entity of the SLI configuration
### SLI Entity specific parameters
Depending on the chosen `sliType` in the `sliEntity`, there are further required parameters:
#### Application SLI entity
This option can be used to create a Time-Based SLI
- **sliEntity.applicationId:** The Id of the Application Perspective
- **sliEntity.boundaryScope:** Boundary scope of the Application Perspective
- **metricConfiguration.metricName:** The metric name on which to compute the SLI
- **metricConfiguration.metricAggregation:** The aggregation of the metric
- **metricConfiguration.threshold:** Threshold for the metric
#### Availability SLI entity
This opetion can be used to create an Event-Based SLI
- **sliEntity.applicationId:** The Id of the Application Perspective
- **sliEntity.boundaryScope:** Boundary scope of the Application Perspective
## Deprecated Parameters for Availability SLI entity:
- **sliEntity.serviceId:** The ID if the Service in he context of an Application Perspective
- **sliEntity.endpointId:** The ID of an Endpoint belonging to a Service
- **sliEntity.goodEventFilters:** The list of TagFilters to match good events / calls
- **sliEntity.badEventFilters:** The list of TagFilters to match bad events / calls
All of these filters can be included using the list of TagFilterExpressions via **sliEntity.goodEventFilterExpression** and **sliEntity.badEventFilterExpression**.
These parameters will be removed in the upcoming releases.
'/api/settings/sli/{id}':
delete:
deprecated: true
operationId: deleteSliConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: Service Levels Indicator ID
example: 7iydEfqJQP6AKzd3yR3byw
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- canConfigureServiceLevels
summary: Delete SLI Config
tags:
- SLI Settings
x-ibm-ahub-byok: true
get:
deprecated: true
operationId: getSliConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: Service Levels Indicator ID
example: 3J0RDgfyQz-P_hVzbNNb4A
responses:
'200':
content:
application/json:
example:
id: 3J0RDgfyQz-P_hVzbNNb4A
sliName: test-application-sli
initialEvaluationTimestamp: 1732017600000
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 555
sliEntity:
sliType: application
applicationId: btg-B709IU6o9QNXUS4TVw
serviceId: null
endpointId: null
boundaryScope: INBOUND
lastUpdated: 1732017541059
schema:
$ref: '#/components/schemas/SliConfigurationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get SLI Config
tags:
- SLI Settings
x-ibm-ahub-byok: true
put:
deprecated: true
operationId: updateSliConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: Service Levels Indicator ID
example: 3J0RDgfyQz-P_hVzbNNb4A
requestBody:
content:
application/json:
example:
id: 3J0RDgfyQz-P_hVzbNNb4A
sliName: test-application-sli
initialEvaluationTimestamp: 1732017600000
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 555
sliEntity:
sliType: application
applicationId: btg-B709IU6o9QNXUS4TVw
serviceId: null
endpointId: null
boundaryScope: INBOUND
lastUpdated: 1732017541059
schema:
$ref: '#/components/schemas/SliConfiguration'
required: true
responses:
'200':
content:
application/json:
example:
id: 3J0RDgfyQz-P_hVzbNNb4A
sliName: test-application-sli
initialEvaluationTimestamp: 1732017600000
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 555
sliEntity:
sliType: application
applicationId: btg-B709IU6o9QNXUS4TVw
serviceId: null
endpointId: null
boundaryScope: INBOUND
lastUpdated: 1732017541059
schema:
$ref: '#/components/schemas/SliConfigurationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- canConfigureServiceLevels
summary: Update SLI Config
tags:
- SLI Settings
x-ibm-ahub-byok: true
/api/settings/slo:
get:
operationId: getAllSloConfigs
parameters:
- in: query
name: pageSize
schema:
type: integer
format: int32
description: Size of the Page
example: 1
- in: query
name: page
schema:
type: integer
format: int32
description: Page Number
example: 1
- in: query
name: orderBy
schema:
type: string
description: Order By Value
enum:
- name
- entityType
- entityName
- blueprint
- sloStatus
- sloWindowRemain
- timeWindow
- 'null'
example: name
- in: query
name: orderDirection
schema:
type: string
description: 'Order Direction of the Result, it could be ascending or descending'
enum:
- ASC
- DESC
example: ASC
- in: query
name: query
schema:
type: string
description: Keyword or Query which needs to be searched
example: test SLO
- in: query
name: tag
schema:
type: array
description: List of tags which needs to be searched
example: Testing
items:
type: string
description: List of tags which needs to be searched
example: Testing
uniqueItems: true
- in: query
name: entityType
schema:
type: array
description: SLO Entity Type which needs to be filtered. (This filter could occurs multiple times.)
example: application
items:
type: string
description: SLO Entity Type which needs to be filtered. (This filter could occurs multiple times.)
enum:
- application
- website
- synthetic
- infrastructure
example: application
uniqueItems: true
- in: query
name: blueprint
schema:
type: array
description: SLO blueprint Type which needs to be filtered. (This filter could occurs multiple times.)
example: latency
items:
type: string
description: SLO blueprint Type which needs to be filtered. (This filter could occurs multiple times.)
enum:
- latency
- availability
- traffic
- saturation
- custom
example: latency
uniqueItems: true
- in: query
name: sloIds
schema:
type: array
description: List of SLO IDs for which details need to be fetched
example: SLOdCTspkHlS_OzNOATQWgsuw
items:
type: string
description: List of SLO IDs for which details need to be fetched
example: SLOdCTspkHlS_OzNOATQWgsuw
- in: query
name: sloStatus
schema:
type: string
description: Filter by the SLO status
example: green
- in: query
name: entityIds
schema:
type: array
description: List of entity IDs for which details need to be fetched
example: adsewby312sdfd1
items:
type: string
description: List of entity IDs for which details need to be fetched
example: adsewby312sdfd1
- in: query
name: grouped
schema:
type: boolean
description: Boolean operator which specifies if the results are grouped
example: false
- in: query
name: refresh
schema:
type: boolean
description: Boolean operator which specifies if the cache needs to be refreshed
example: false
responses:
'200':
content:
application/json:
example:
items:
- id: SLOY2KDCFExTvmsLyf4W067JQ
name: Stans test SLO 2
target: 0.99
lastUpdated: 1680182215442
entity:
type: application
applicationId: VTNvC_sATZqMj4vSZfsjKA
serviceId: null
endpointId: null
boundaryScope: INBOUND
includeInternal: false
includeSynthetic: false
tagFilterExpression: null
rbacTags:
- id: R3_hPrHXSMe0yGsnlFdReA
displayName: team 1
indicator:
type: timeBased
blueprint: latency
threshold: 100
aggregation: P90
timeWindow:
type: rolling
duration: 1
durationUnit: week
tags:
- Stan
- testing
- id: SLOsmbQLI8ORcuhF_L-QquFWQ
name: '[Should match no nothing test] website entity tag filter'
target: 0.9999
lastUpdated: 1683792839372
rbacTags:
- id: R3_hPrHXSMe0yGsnlFdReA
displayName: team 1
entity:
type: website
websiteId: XIZGGVT1TX2O-0OFeT2Yig
beaconType: httpRequest
tagFilterExpression:
type: TAG_FILTER
name: beacon.geo.country
stringValue: Moon
numberValue: null
booleanValue: null
key: null
value: Moon
operator: EQUALS
entity: NOT_APPLICABLE
indicator:
type: eventBased
blueprint: latency
threshold: 60000
timeWindow:
type: rolling
duration: 1
durationUnit: week
tags:
- test
- no matches
page: 1
pageSize: 10000
totalHits: 2
schema:
$ref: '#/components/schemas/PaginatedResult'
description: Fetched list of the SLO Configurations Successfully
security:
- ApiKeyAuth:
- Default
summary: Get All SLO Configs
tags:
- Service Levels Objective(SLO) Configurations
x-ibm-ahub-byok: true
post:
operationId: createSloConfig
requestBody:
content:
application/json:
example:
name: Stans test SLO 4
target: 0.99
rbacTags:
- id: R3_hPrHXSMe0yGsnlFdReA
displayName: team 1
entity:
type: application
applicationId: VTNvC_sATZqMj4vSZfsjKA
serviceId: null
endpointId: null
boundaryScope: INBOUND
includeInternal: false
includeSynthetic: false
tagFilterExpression: null
indicator:
type: timeBased
blueprint: latency
threshold: 100
aggregation: P90
timeWindow:
type: rolling
duration: 1
durationUnit: week
tags:
- Stan
- testing
schema:
$ref: '#/components/schemas/SLOConfigWithRBACTag'
required: true
responses:
'200':
content:
application/json:
example:
id: SLOdCTspkHlS_OzNOATQWgsuw
rbacTags:
- id: R3_hPrHXSMe0yGsnlFdReA
displayName: team 1
createdDate: 1680182236227
name: Stans test SLO 4
target: 0.99
lastUpdated: 1713873207738
entity:
type: application
applicationId: VTNvC_sATZqMj4vSZfsjKA
serviceId: null
endpointId: null
boundaryScope: INBOUND
includeInternal: false
includeSynthetic: false
tagFilterExpression: null
indicator:
type: timeBased
blueprint: latency
threshold: 100
aggregation: P90
timeWindow:
type: rolling
duration: 1
durationUnit: week
tags:
- Stan
- testing
schema:
$ref: '#/components/schemas/SLOConfigWithRBACTag'
description: New SLO Configuration Created Successfully
'400':
content:
application/json:
example: '{"errors":["Unknown tag filter: call.error"]}'
schema:
type: string
description: Invalid Tag Filter
security:
- ApiKeyAuth:
- canConfigureServiceLevels
summary: Create a new SLO Config
tags:
- Service Levels Objective(SLO) Configurations
x-ibm-ahub-byok: true
/api/settings/slo/tags:
get:
operationId: getAllSloConfigTags
parameters:
- in: query
name: query
schema:
type: string
description: Keyword or Query which needs to be searched
example: test SLO
- in: query
name: tag
schema:
type: array
description: List of tags which needs to be searched
example: Testing
items:
type: string
description: List of tags which needs to be searched
example: Testing
uniqueItems: true
- in: query
name: entityType
schema:
type: string
description: SLO Entity Type which needs to be filtered
enum:
- application
- website
- synthetic
- infrastructure
example: application
responses:
'200':
content:
application/json:
example:
- andre
- test
- testing
- drinks
- got no snacks
- timeBased
- Stan
- no matches
- availability
- Lab
- demo
- thiemo
- TimeWindow Test
- robot-shop
- eventBased
- got snacks
- migration
- robert-creates-a-new-sli
schema:
type: array
items:
type: string
description: Fetched list of SLO Configuration tags Successfully
security:
- ApiKeyAuth:
- Default
summary: Get All SLO Config tags
tags:
- Service Levels Objective(SLO) Configurations
x-ibm-ahub-byok: true
'/api/settings/slo/{id}':
delete:
operationId: deleteSloConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: Service Levels Objective Configuration ID
example: SLOdCTspkHlS_OzNOATQWgsuw
responses:
'204':
description: SLO Configuration Deleted Successfully
security:
- ApiKeyAuth:
- canConfigureServiceLevels
summary: Delete an existing SLO Config
tags:
- Service Levels Objective(SLO) Configurations
x-ibm-ahub-byok: true
get:
operationId: getSloConfigById
parameters:
- in: path
name: id
required: true
schema:
type: string
description: Service Levels Objective Configuration ID
example: SLOdCTspkHlS_OzNOATQWgsuw
- in: query
name: refresh
schema:
type: boolean
description: Boolean operator which specifies if the cache needs to be refreshed
example: false
responses:
'200':
content:
application/json:
example:
id: SLOdCTspkHlS_OzNOATQWgsuw
rbacTags:
- id: R3_hPrHXSMe0yGsnlFdReA
displayName: team 1
createdDate: 1680182236227
name: Stans test SLO 4
target: 0.99
lastUpdated: 1713873207738
entity:
type: application
applicationId: VTNvC_sATZqMj4vSZfsjKA
serviceId: null
endpointId: null
boundaryScope: INBOUND
includeInternal: false
includeSynthetic: false
tagFilterExpression: null
indicator:
type: timeBased
blueprint: latency
threshold: 100
aggregation: P90
timeWindow:
type: rolling
duration: 1
durationUnit: week
tags:
- Stan
- testing
schema:
$ref: '#/components/schemas/SLOConfigWithRBACTag'
description: Fetched SLO Configuration Successfully
'404':
content:
application/json:
example:
errors:
- The sloConfiguration you are looking for does not exist.
schema:
type: string
description: SLO Configuration Not Found
security:
- ApiKeyAuth:
- Default
summary: Get an existing SLO Config
tags:
- Service Levels Objective(SLO) Configurations
x-ibm-ahub-byok: true
put:
operationId: updateSloConfig
parameters:
- in: path
name: id
required: true
schema:
type: string
description: Service Levels Objective Configuration ID
example: SLOdCTspkHlS_OzNOATQWgsuw
requestBody:
content:
application/json:
example:
name: Stans test SLO 4
target: 0.99
rbacTags:
- id: R3_hPrHXSMe0yGsnlFdReA
displayName: team 1
entity:
type: application
applicationId: VTNvC_sATZqMj4vSZfsjKA
serviceId: null
endpointId: null
boundaryScope: INBOUND
includeInternal: false
includeSynthetic: false
tagFilterExpression: null
indicator:
type: timeBased
blueprint: latency
threshold: 100
aggregation: P90
timeWindow:
type: rolling
duration: 1
durationUnit: week
tags:
- Stan
- testing
schema:
$ref: '#/components/schemas/SLOConfigWithRBACTag'
required: true
responses:
'200':
content:
application/json:
example:
id: SLOdCTspkHlS_OzNOATQWgsuw
rbacTags:
- id: R3_hPrHXSMe0yGsnlFdReA
displayName: team 1
createdDate: 1680182236227
name: Stans test SLO 4
target: 0.99
lastUpdated: 1713873207738
entity:
type: application
applicationId: VTNvC_sATZqMj4vSZfsjKA
serviceId: null
endpointId: null
boundaryScope: INBOUND
includeInternal: false
includeSynthetic: false
tagFilterExpression: null
indicator:
type: timeBased
blueprint: latency
threshold: 100
aggregation: P90
timeWindow:
type: rolling
duration: 1
durationUnit: week
tags:
- Stan
- testing
schema:
$ref: '#/components/schemas/SLOConfigWithRBACTag'
description: Updated SLO Configuration Successfully
'400':
content:
application/json:
example:
errors:
- 'SloConfiguration with id: GC8r6gbZT4WIhtsMx_YgLg was not found'
schema:
type: string
description: Bad Request
security:
- ApiKeyAuth:
- canConfigureServiceLevels
summary: Update an existing SLO Config
tags:
- Service Levels Objective(SLO) Configurations
x-ibm-ahub-byok: true
/api/settings/synthetic-calls:
delete:
description: |-
Use this API endpoint if one wants to delete all custom synthetic call configurations.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Synthetic Calls please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#synthetic-calls.
operationId: deleteSyntheticCall
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Delete synthetic call configurations
tags:
- Synthetic Calls
x-ibm-ahub-byok: true
get:
description: |-
Use this API endpoint if one wants to get all custom synthetic call configurations.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Synthetic Calls please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#synthetic-calls.
operationId: getSyntheticCalls
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SyntheticCallWithDefaultsConfig'
description: OK
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Synthetic call configurations
tags:
- Synthetic Calls
x-ibm-ahub-byok: true
put:
description: |-
Use this API endpoint if one wants to get all custom synthetic call configurations.
This endpoint requires `CanConfigureServiceMapping` permission.
One can use `Create or update an API token` endpoint to update the permission by setting `canConfigureServiceMapping` to `true`.
If one wants to enable the permission from Instana UI, go to Settings -> Security & Access -> Access Control -> API Token.
There one can update the existing token or create a new token and set `Customize service rules and endpoint mapping` to `true`.
For more information on Synthetic Calls please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Settings#synthetic-calls.
operationId: updateSyntheticCall
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SyntheticCallConfig'
required: true
responses:
'200':
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- ConfigureServiceMapping
summary: Update synthetic call configurations
tags:
- Synthetic Calls
x-ibm-ahub-byok: true
/api/settings/users:
get:
description: Retrieves all users with access to the tenant. The result will not contain pending invitations.
operationId: getUsers
responses:
'200':
content:
application/json:
example:
- id: userId
email: username@example.com
fullName: username
lastLoggedIn: 1636434847190
groupCount: 1
tfaEnabled: false
schema:
type: array
items:
$ref: '#/components/schemas/UserResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureUsers
summary: All users (without invitations)
tags:
- User
x-ibm-ahub-byok: true
/api/settings/users/delete:
put:
description: Remove multiple users access to the tenant. Removing a user from a tenant does not delete their user account.
operationId: removeUsersFromTenant
requestBody:
content:
'*/*':
schema:
type: array
items:
type: string
uniqueItems: true
required: true
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureUsers
summary: Remove users from tenant
tags:
- User
x-ibm-ahub-byok: true
/api/settings/users/overview:
get:
description: Retrieves all users with access to the tenant. The result will also contain pending invitations.
operationId: getUsersIncludingInvitations
responses:
'200':
content:
application/json:
example:
users:
- id: userId1
email: username@example.com
fullName: fullName
lastLoggedIn: 1699313025975
groupCount: null
tfaEnabled: null
invitations:
- id: userId2
email: username2@example.com
groupId: '-3'
schema:
$ref: '#/components/schemas/UsersResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureUsers
summary: All users (incl. invitations)
tags:
- User
x-ibm-ahub-byok: true
'/api/settings/users/{email}':
put:
description: Updates the full name of the user.
operationId: updateUser
parameters:
- in: path
name: email
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
fullName: Updated Name
schema:
$ref: '#/components/schemas/EditUser'
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
security:
- ApiKeyAuth:
- CanConfigureUsers
summary: Change user name of single user
tags:
- User
x-ibm-ahub-byok: true
'/api/settings/users/{userId}':
delete:
description: Remove the users access to the tenant. Removing a user from a tenant does not delete their user account.
operationId: removeUserFromTenant
parameters:
- description: Id of the user for removal
example: userId
in: path
name: userId
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureUsers
summary: Remove user from tenant
tags:
- User
x-ibm-ahub-byok: true
get:
description: Retrieves the user with access to the tenant.
operationId: getUserById
parameters:
- description: Id of the user for retrieval
example: userId
in: path
name: userId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
example:
id: userId
preferredName: preferredName
fullName: fullName
email: username@example.com
encryptedPassword: ''
lastLoggedIn: 1699442707385
timestampAcceptedTos: 1696404223545
timestampAcceptedPrivacyAgreement: 1696404223545
acceptedTosVersion: 6
acceptedPrivacyAgreementVersion: 9
tenantsWhereMainContact: []
tenants: []
createDate: 1696404196256
emailConfirmed: true
tenantIds:
- 55557f97186b9c0007857730
passwordResetAttempt: 0
groupCount: null
tfaEnabled: null
role: null
schema:
type: array
items:
$ref: '#/components/schemas/UserResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
security:
- ApiKeyAuth:
- CanConfigureUsers
summary: Get single user
tags:
- User
x-ibm-ahub-byok: true
/api/settings/v2/maintenance:
get:
operationId: getMaintenanceConfigsV2
responses:
'200':
content:
application/json:
example:
- id: maintenanceConfigId
name: maintenanceConfig
query: 'entity.application.id:"anApplicationId"'
scheduling:
start: 1680703219486
duration:
amount: 2
unit: HOURS
rrule: FREQ=DAILY;INTERVAL=1;COUNT=1
timezoneId: UTC
type: RECURRENT
paused: false
lastUpdated: 1680703219678
state: EXPIRED
validVersion: 1
occurrence:
start: 1680703219000
end: 1680710419000
invalid: false
applicationNames:
- anApplicationName
- id: anotherMaintenanceConfigId
name: anotherMaintenanceConfig
query: 'entity.type:ibmz.db2'
scheduling:
start: 1680703219486
duration:
amount: 2
unit: HOURS
rrule: FREQ=DAILY;INTERVAL=1;COUNT=1
timezoneId: UTC
type: RECURRENT
paused: false
lastUpdated: 1680703219678
state: EXPIRED
validVersion: 1
occurrence:
start: 1680703219000
end: 1680710419000
invalid: false
applicationNames: []
- id: '1698949644924'
name: sampleMaintenanceConfig
query: ''
scheduling:
start: 1698949644924
duration:
amount: 2
unit: HOURS
rrule: FREQ=WEEKLY;INTERVAL=2;BYDAY=SA;COUNT=10
timezoneId: America/New_York
type: RECURRENT
paused: false
validVersion: 1
tagFilterExpression:
type: EXPRESSION
logicalOperator: OR
elements:
- type: TAG_FILTER
name: synthetic.locationLabelAggregated
stringValue: us-east
numberValue: null
booleanValue: null
key: null
value: us-east
operator: EQUALS
entity: NOT_APPLICABLE
- type: TAG_FILTER
name: synthetic.syntheticType
stringValue: HTTPScript
numberValue: null
booleanValue: null
key: null
value: HTTPScript
operator: EQUALS
entity: NOT_APPLICABLE
tagFilterExpressionEnabled: true
retriggerOpenAlertsEnabled: true
lastUpdated: 1698949645163
state: SCHEDULED
occurrence:
start: 1699122444000
end: 1699129644000
schema:
type: array
items:
$ref: '#/components/schemas/ValidatedMaintenanceConfigV2WithStateAndOccurrence'
description: OK
security:
- ApiKeyAuth:
- CanConfigureMaintenanceWindows
summary: All maintenance configurations
tags:
- Maintenance Configuration
x-ibm-ahub-byok: true
description: 'This endpoint retrieves all available maintenance configurations. '
'/api/settings/v2/maintenance/{id}':
delete:
operationId: deleteMaintenanceConfigV2
parameters:
- description: Id of the Maintenance Window configuration to delete.
example: 8924aa6b
in: path
name: id
required: true
schema:
type: string
responses:
default:
content:
application/json: {}
description: default response
security:
- ApiKeyAuth:
- CanConfigureMaintenanceWindows
summary: Delete maintenance configuration
tags:
- Maintenance Configuration
x-ibm-ahub-byok: true
description: |-
This endpoint deletes a maintenance configuration given its ID.
### Path Parameters:
- **id:** The ID of the maintenance config to delete.
get:
operationId: getMaintenanceConfigV2
parameters:
- description: Id of the Maintenance Window Configuration to get.
example: 8924aa6b
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: maintenanceConfigId
name: maintenanceConfig
query: ''
scheduling:
start: 1683864000000
duration:
amount: 24
unit: HOURS
type: ONE_TIME
paused: false
validVersion: 1
lastUpdated: 1683901553115
state: EXPIRED
occurrence:
start: 1683864000000
end: 1683950400000
schema:
$ref: '#/components/schemas/MaintenanceConfigV2WithStateAndOccurrence'
description: OK
security:
- ApiKeyAuth:
- CanConfigureMaintenanceWindows
summary: Get maintenance configuration
tags:
- Maintenance Configuration
x-ibm-ahub-byok: true
description: |-
This endpoint retrieves a maintenance configuration given its ID.
### Path Parameters:
- **id:** The ID of the maintenance config to fetch.
put:
operationId: putMaintenanceConfigV2
parameters:
- description: Id of the Maintenance Window configuration to update.
example: 8924aa6b
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MaintenanceConfigV2'
examples:
payload:
value:
id: maintenanceConfigID
name: sampleMaintenanceConfig
query: ''
scheduling:
start: 1683827571245
duration:
amount: 2
unit: HOURS
type: RECURRENT
rrule: FREQ=WEEKLY;INTERVAL=2;BYDAY=SA;COUNT=10
timezoneId: America/New_York
tagFilterExpressionEnabled: true
tagFilterExpression:
type: EXPRESSION
logicalOperator: OR
elements:
- type: TAG_FILTER
name: synthetic.locationLabelAggregated
stringValue: us-east
numberValue: null
booleanValue: null
key: null
value: us-east
operator: EQUALS
entity: NOT_APPLICABLE
- type: TAG_FILTER
name: synthetic.syntheticType
stringValue: HTTPScript
numberValue: null
booleanValue: null
key: null
value: HTTPScript
operator: EQUALS
entity: NOT_APPLICABLE
required: true
responses:
'200':
content:
application/json:
example:
id: maintenanceConfigId
name: maintenanceConfig
query: ''
scheduling:
start: 1698938631036
duration:
amount: 2
unit: HOURS
type: ONE_TIME
paused: false
validVersion: 1
tagFilterExpression:
type: EXPRESSION
logicalOperator: OR
elements:
- type: TAG_FILTER
name: synthetic.locationLabelAggregated
stringValue: us-east
numberValue: null
booleanValue: null
key: null
value: us-east
operator: EQUALS
entity: NOT_APPLICABLE
- type: TAG_FILTER
name: synthetic.syntheticType
stringValue: HTTPScript
numberValue: null
booleanValue: null
key: null
value: HTTPScript
operator: EQUALS
entity: NOT_APPLICABLE
tagFilterExpressionEnabled: true
retriggerOpenAlertsEnabled: true
lastUpdated: 1698938631408
state: ACTIVE
occurrence:
start: 1698938631036
end: 1698945831036
description: 'Maintenance config has been created or updated, and successfully scheduled immediately if needed'
'202':
description: 'Maintenance config has been created or updated, but could not to be scheduled immediately. It will therefore be scheduled during the next auto-refresh with a delay of up to 4 minutes.'
'400':
description: The provided maintenance configuration is invalid.
'422':
description: The provided maintenance configuration is incomplete or cannot be processed.
security:
- ApiKeyAuth:
- CanConfigureMaintenanceWindows
summary: Create or update maintenance configuration
tags:
- Maintenance Configuration
x-ibm-ahub-byok: true
description: |-
This endpoint creates or updates a maintenance configuration given its ID.
### Path Parameters:
- **id:** The ID of the maintenance config to create or update.
### Maintenance Configuration Input
This is a description for the fields in the request body:
**id**: maintenance configuration unique id
**name**: maintenance configuration name
**query**: dynamic focus query used to filter alert notifications that will be muted
**scheduling**: defines when the maintenance configuration will be scheduled
- **start**: time in milliseconds from epoch
- **duration**: duration of each maintenance window occurrence in the maintenance configuration
- **amount**: the amount of time
- **unit**: the unit of time
- **type**: `ONE_TIME` or `RECURRENT`
- **rrule**: for `RECURRENT` mainteance configurations, the RRULE standard from the [iCalendar Spec](https://datatracker.ietf.org/doc/html/rfc5545)
- **paused**: indicates whether maintenance configuration is paused or not
**tagFilterExpressionEnabled (OPTIONAL) (Closed Beta)**: indicates whether tagFilterExpression is used to filter alert notifications
**tagFilterExpression (OPTIONAL) (Closed Beta)**: tag filter expression used to filter alert notifications that will be muted (this field needs to be provided if **tagFilterExpressionEnabled** is set to true)
### **Scope**
There are four supported scopes; application perspective, dynamic focus query, synthetic tests, all entities. Below is the configuration corresponding to each scope:
**1. Application Perspective**
dfq: a valid dynamic focus query
tfeEnabled: (optional)
tfe: (optional)
**2. Dynamic Focus Query**
dfq: a valid dynamic focus query
tfeEnabled: (optional)
tfe: (optional)
**3. Synthetic Tests**
dfq: ""
tfeEnabled: true
tfe: a valid tag filter expression
**4. All Entities**
dfq: ""
tfeEnabled: false
tfe: null
### **RRULE Support**
You can use the [RRULE tool](https://icalendar.org/rrule-tool.html) for generating RRULEs.
The following RRULE tokens are supported: `FREQ`, `UNTIL`, `COUNT`, `INTERVAL`, `BYDAY`, `BYMONTHDAY`, `BYMONTH`.
**Additional Constraints:**
1. For `MONTHLY` and `YEARLY`, you can only specify one value for `BYDAY` and `BYMONTHDAY`.
2. The maximum `INTERVAL` allowed is as follows:
- DAILY is 365
- WEEKLY is 52
- MONTHLY is 12
- YEARLY is 1
3. If an `UNTIL` date is specified, the value needs to be in UTC.
### **Tag Filter Expression Support**
We support the following tag filters:
- synthetic.syntheticType
- synthetic.testName
- synthetic.locationLabelAggregated
- synthetic.tags
'/api/settings/v2/maintenance/{id}/pause':
put:
operationId: pauseRecurrentMaintenanceConfiguration
parameters:
- description: Id of the Maintenance Window configuration to pause.
example: 8924aa6b
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: maintenanceConfigId
name: maintenanceConfig
query: 'entity.application.id:"anApplicationId"'
scheduling:
start: 1684251745262
duration:
amount: 2
unit: HOURS
type: ONE_TIME
paused: true
validVersion: 1
lastUpdated: 1684251750475
state: PAUSED
occurrence:
start: 1684251745262
end: 1684258945262
schema:
$ref: '#/components/schemas/MaintenanceConfigV2WithStateAndOccurrence'
description: OK
security:
- ApiKeyAuth:
- CanConfigureMaintenanceWindows
summary: Pause maintenance configuration
tags:
- Maintenance Configuration
x-ibm-ahub-byok: true
description: |
This endpoint pauses a maintenance configuration given its ID.
When you pause a maintenance configuration, you will start receiving alerts again for the scope defined in the maintenance configuration.
### Path Parameters:
- **id:** The ID of the maintenance config to pause.
'/api/settings/v2/maintenance/{id}/resume':
put:
operationId: resumeRecurrentMaintenanceConfiguration
parameters:
- description: Id of the Maintenance Window configuration to resume.
example: 8924aa6b
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: maintenanceConfigId
name: maintenanceConfig
query: 'entity.application.id:"anApplicationId"'
scheduling:
start: 1684251745262
duration:
amount: 2
unit: HOURS
type: ONE_TIME
paused: false
validVersion: 1
lastUpdated: 1684251933433
state: ACTIVE
occurrence:
start: 1684251745262
end: 1684258945262
schema:
$ref: '#/components/schemas/MaintenanceConfigV2WithStateAndOccurrence'
description: OK
security:
- ApiKeyAuth:
- CanConfigureMaintenanceWindows
summary: Resume maintenance configuration
tags:
- Maintenance Configuration
x-ibm-ahub-byok: true
description: |
This endpoint resumes a maintenance configuration given its ID.
If the maintenance configuration becomes active when you resume the maintenance configuration, you will not receive alerts for the scope defined in the maintenance configuration.
### Path Parameters:
- **id:** The ID of the maintenance config to resume.
/api/settings/v2/sli:
get:
operationId: getAllSliConfigsV2
responses:
'200':
content:
application/json:
example:
- id: T0yCMBR4G
sliName: Siva SLI test
initialEvaluationTimestamp: 1637758860000
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 100
sliEntity:
sliType: application
applicationId: 1qvXgVfLTNqi8gGTcCaNUw
serviceId: 6097d596c3d9024034b3d03b2b5c43acea65e5a4
endpointId: oETFj2WyPusvXgRW_181J3fH_t8
boundaryScope: INBOUND
lastUpdated: 1637758839104
schema:
type: array
items:
$ref: '#/components/schemas/SliConfigurationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get All SLI Configs
tags:
- SLI Settings
x-ibm-ahub-byok: true
post:
operationId: createSliConfigV2
requestBody:
content:
application/json:
example:
sliName: test-application-sli
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 555
sliEntity:
sliType: application
applicationId: btg-B709IU6o9QNXUS4TVw
serviceId: null
endpointId: null
boundaryScope: INBOUND
schema:
$ref: '#/components/schemas/SliConfiguration'
required: true
responses:
'200':
content:
application/json:
example:
id: 3J0RDgfyQz-P_hVzbNNb4A
sliName: test-application-sli
initialEvaluationTimestamp: 1732017600000
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 555
sliEntity:
sliType: application
applicationId: btg-B709IU6o9QNXUS4TVw
serviceId: null
endpointId: null
boundaryScope: INBOUND
lastUpdated: 1732017541059
schema:
$ref: '#/components/schemas/SliConfigurationWithLastUpdated'
description: New SLI Configuration Created Successfully
'400':
content:
application/json:
example: '{"errors":["Unknown tag filter: call.eron"]}'
schema:
type: string
description: Bad Request
'422':
content:
application/json:
example: '{"errors":["sliEntity.entityId must not be blank"]}'
schema:
type: string
description: Unprocessable Entity
security:
- ApiKeyAuth:
- canConfigureServiceLevels
summary: Create SLI Config
tags:
- SLI Settings
x-ibm-ahub-byok: true
description: |
This endpoint creates the Service Level Indicator Configuration
## Mandatory Parameters:
- **id** A unique identifier for each SLI configuration
- **sliName:** Name for the SLI configuration
- **sliEntity:** Entity of the SLI configuration
### SLI Entity specific parameters
Depending on the chosen `sliType` in the `sliEntity`, there are further required parameters:
#### Application SLI entity
This option can be used to create a Time-Based SLI
- **sliEntity.applicationId:** The Id of the Application Perspective
- **sliEntity.boundaryScope:** Boundary scope of the Application Perspective
- **metricConfiguration.metricName:** The metric name on which to compute the SLI
- **metricConfiguration.metricAggregation:** The aggregation of the metric
- **metricConfiguration.threshold:** Threshold for the metric
#### Availability SLI entity
This opetion can be used to create an Event-Based SLI
- **sliEntity.applicationId:** The Id of the Application Perspective
- **sliEntity.boundaryScope:** Boundary scope of the Application Perspective
## Deprecated Parameters for Availability SLI entity:
- **sliEntity.serviceId:** The ID if the Service in he context of an Application Perspective
- **sliEntity.endpointId:** The ID of an Endpoint belonging to a Service
- **sliEntity.goodEventFilters:** The list of TagFilters to match good events / calls
- **sliEntity.badEventFilters:** The list of TagFilters to match bad events / calls
All of these filters can be included using the list of TagFilterExpressions via **sliEntity.goodEventFilterExpression** and **sliEntity.badEventFilterExpression**.
These parameters will be removed in the upcoming releases.
'/api/settings/v2/sli/{entityType}/{entityId}':
get:
operationId: getSliConfigsForEntityTypeAndIdV2
parameters:
- description: 'Type of the Entity, whether it is an application or website'
in: path
name: entityType
required: true
schema:
type: string
enum:
- APPLICATION
- WEBSITE
- description: Unique ID of the Entity
example: DkPX-x9VQuKBKopuilrkYw
in: path
name: entityId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: HXcNRWhDSWiZs3HiUAKr7g
sliName: turbo time 1
initialEvaluationTimestamp: 1648133520000
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 300
sliEntity:
sliType: application
applicationId: 1qvXgVfLTNqi8gGTcCaNUw
serviceId: null
endpointId: null
boundaryScope: INBOUND
lastUpdated: 1648133508938
schema:
type: array
items:
$ref: '#/components/schemas/SliConfigurationWithLastUpdated'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get all SLI configs for entity type and entity id
tags:
- SLI Settings
x-ibm-ahub-byok: true
'/api/settings/v2/sli/{id}':
delete:
operationId: deleteSliConfigV2
parameters:
- description: ID of the Service Level Indicator (SLI)
example: HXcNRWhDSWiZs3HiUAKr7g
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: SLI Configuration Deleted Successfully
security:
- ApiKeyAuth:
- canConfigureServiceLevels
summary: Delete SLI Config
tags:
- SLI Settings
x-ibm-ahub-byok: true
get:
operationId: getSliConfigV2
parameters:
- description: ID of the Service Level Indicator (SLI)
example: HXcNRWhDSWiZs3HiUAKr7g
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
- id: HXcNRWhDSWiZs3HiUAKr7g
sliName: turbo time 1
initialEvaluationTimestamp: 1648133520000
metricConfiguration:
metricName: latency
metricAggregation: P90
threshold: 300
sliEntity:
sliType: application
applicationId: 1qvXgVfLTNqi8gGTcCaNUw
serviceId: null
endpointId: null
boundaryScope: INBOUND
lastUpdated: 1648133508938
schema:
$ref: '#/components/schemas/SliConfigurationWithLastUpdated'
description: OK
'404':
content:
application/json:
example:
errors:
- The SLI Configuration you are looking for does not exist.
schema:
type: string
description: SLI Configuration Not Found
security:
- ApiKeyAuth:
- Default
summary: Get SLI Config
tags:
- SLI Settings
x-ibm-ahub-byok: true
'/api/sli/report/{sliId}':
get:
operationId: getSli
parameters:
- description: ID of the Service Level Indicator (SLI)
example: nCtEoR6NSPqG61QkIkwwCw
in: path
name: sliId
required: true
schema:
type: string
- description: Target SLO
example: 0.99
in: query
name: slo
required: true
schema:
type: number
format: double
- description: From Timestamp in milliseconds (13-digit)
example: 1706713140000
in: query
name: from
required: true
schema:
type: integer
format: int64
- description: To Timestamp in milliseconds (13-digit)
example: 1706713140000
in: query
name: to
required: true
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
sli: 0.008228916434859497
slo: 0.1
totalErrorBudget: 10236633
errorBudgetRemaining: -1043808
fromTimestamp: 1707771600000
toTimestamp: 1707858000000
violationDistribution: null
schema:
type: array
items:
$ref: '#/components/schemas/SliReport'
description: OK
'404':
content:
application/json:
example:
errors:
- There is no SLI configuration for the given ID or the report hasn't been generated yet.
schema:
type: array
items:
type: string
description: There is no SLI configuration for the given ID or the report hasn't been generated yet.
security:
- ApiKeyAuth:
- Default
summary: 'Generate SLI report (Limitation: the Classic Edition API report can be available one hour after the SLI configuration created; other editions are around one minute.)'
tags:
- SLI Report
x-ibm-ahub-byok: true
/api/slo/correction:
get:
operationId: getSloCorrection
parameters:
- in: query
name: sloId
schema:
type: array
description: List of SLO IDs for which Correction Windows needs to be fetched
example: SLOdCTspkHlS_OzNOATQWgsuw
items:
type: string
description: List of SLO IDs for which Correction Windows needs to be fetched
example: SLOdCTspkHlS_OzNOATQWgsuw
uniqueItems: true
- description: IDs of Correction Configurations to be Excluded from the result
example: N1Xj6q8QTZu_cfJOGqy4mg
in: query
name: excludeCorrectionId
schema:
type: array
items:
type: string
uniqueItems: true
- description: IDs of Correction Configurations to be Included in the result
example: uvP7Z03pSUuybDT8-WHLDA
in: query
name: includeCorrectionId
schema:
type: array
items:
type: string
uniqueItems: true
- in: query
name: tags
schema:
type: array
items:
type: string
uniqueItems: true
- description: Correction starting timestamp in milliseconds (13-digit)
example: 1706713140000
in: query
name: from
required: true
schema:
type: integer
format: int64
- description: Correction ending timestamp in milliseconds (13-digit)
example: 1706713140000
in: query
name: to
required: true
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
from: 1750125600000
to: 1750176418243
correctionWindows:
- from: 1750165200000
to: 1750176418243
correctionConfigs:
- CpCe85NeQC2xOKXQluC30g
sloConfigs:
- SLOwfOpxuCJQjauS2IeHDUpAw
- from: 1750158000000
to: 1750176418243
correctionConfigs:
- p9kWax0uS7K2Who1WegsSg
sloConfigs:
- SLOffwtrVkfRmCjOZbdv3Ls9g
- from: 1750150800000
to: 1750165200000
correctionConfigs:
- uvP7Z03pSUuybDT8-WHLDA
sloConfigs:
- SLOukNGcoooQlev1z7aqONkIg
- from: 1750125600000
to: 1750136400000
correctionConfigs:
- S8rHrE93Rz2TXScTjBw1eg
sloConfigs:
- SLO4s-fs-GuT56c3v4KzQKBuQ
- from: 1750172400000
to: 1750176418243
correctionConfigs:
- 9Uf9TtvVRgOIMR0DkLB2Ng
sloConfigs: []
- from: 1750125600000
to: 1750136400000
correctionConfigs:
- 96MtLg5zRP-lmT4WOUE3Yg
sloConfigs:
- SLO4s-fs-GuT56c3v4KzQKBuQ
activeCorrectionConfigIds:
- S8rHrE93Rz2TXScTjBw1eg
- uvP7Z03pSUuybDT8-WHLDA
- CpCe85NeQC2xOKXQluC30g
- 9Uf9TtvVRgOIMR0DkLB2Ng
- 96MtLg5zRP-lmT4WOUE3Yg
- p9kWax0uS7K2Who1WegsSg
inActiveCorrectionConfigIds:
- nNMSbRwFQEKoQ1Wj0BCWcg
schema:
type: array
items:
$ref: '#/components/schemas/Correction'
description: Fetched SLO Correction Windows Successfully
'404':
content:
application/json:
example:
errors:
- There is No SLO Correction Windows or Error happened while trying to fetch SLO Correction Windows.
schema:
type: array
items:
type: string
description: There is no SLO Correction Window
security:
- ApiKeyAuth:
- Default
summary: Generate SLO Correction Windows
tags:
- SLO Correction Windows
x-ibm-ahub-byok: true
'/api/slo/report/{sloId}':
get:
operationId: getSlo
parameters:
- description: Service Levels Objective(SLO) Configuration ID
example: SLOEANnWh9tQOa2h88kGxK6wQ
in: path
name: sloId
required: true
schema:
type: string
- description: 'Starting point for the data retrieval, specified as 13 digit Unix Timestamp milliseconds'
example: 1706713140000
in: query
name: from
schema:
type: string
- description: 'Ending point for the data retrieval, specified as 13 digit Unix Timestamp milliseconds'
example: 1706813100000
in: query
name: to
schema:
type: string
- description: IDs of Correction Configurations to be Excluded from the result
example: N1Xj6q8QTZu_cfJOGqy4mg
in: query
name: excludeCorrectionId
schema:
type: array
items:
type: string
uniqueItems: true
- description: IDs of Correction Configurations to be Included in the result
example: uvP7Z03pSUuybDT8-WHLDA
in: query
name: includeCorrectionId
schema:
type: array
items:
type: string
uniqueItems: true
responses:
'200':
content:
application/json:
example:
sli: 1
slo: 0.9999
totalErrorBudget: 12
errorBudgetRemaining: 12
errorBudgetSpent: 0
fromTimestamp: 1705081552605
toTimestamp: 1705686352605
violationDistribution:
'0': 0
'1': 0
'2': 0
'3': 0
'4': 0
'5': 0
'6': 0
'7': 0
'8': 0
'9': 0
'10': 0
'11': 0
'12': 0
'13': 0
'14': 0
'15': 0
'16': 0
'17': 0
'18': 0
'19': 0
'20': 0
'21': 0
'22': 0
'23': 0
'24': 0
'25': 0
'26': 0
'27': 0
'28': 0
'29': 0
'30': 0
'31': 0
'32': 0
'33': 0
'34': 0
'35': 0
'36': 0
'37': 0
'38': 0
'39': 0
'40': 0
'41': 0
'42': 0
'43': 0
'44': 0
'45': 0
'46': 0
'47': 0
'48': 0
'49': 0
'50': 0
'51': 0
'52': 0
'53': 0
'54': 0
'55': 0
'56': 0
'57': 0
'58': 0
'59': 0
'60': 0
'61': 0
'62': 0
'63': 0
'64': 0
'65': 0
'66': 0
'67': 0
'68': 0
'69': 0
'70': 0
'71': 0
'72': 0
'73': 0
'74': 0
'75': 0
'76': 0
'77': 0
'78': 0
'79': 0
'80': 0
'81': 0
'82': 0
'83': 0
'84': 0
'85': 0
'86': 0
'87': 0
'88': 0
'89': 0
'90': 0
'91': 0
'92': 0
'93': 0
'94': 0
'95': 0
'96': 0
'97': 0
'98': 0
'99': 0
'100': 0
'101': 0
'102': 0
'103': 0
'104': 0
'105': 0
'106': 0
'107': 0
'108': 0
'109': 0
'110': 0
'111': 0
'112': 0
'113': 0
'114': 0
'115': 0
'116': 0
'117': 0
'118': 0
'119': 0
'120': 0
'121': 0
'122': 0
'123': 0
'124': 0
'125': 0
'126': 0
'127': 0
'128': 0
'129': 0
'130': 0
'131': 0
'132': 0
'133': 0
'134': 0
'135': 0
'136': 0
'137': 0
'138': 0
'139': 0
'140': 0
'141': 0
'142': 0
'143': 0
'144': 0
'145': 0
'146': 0
'147': 0
'148': 0
'149': 0
'150': 0
'151': 0
'152': 0
'153': 0
'154': 0
'155': 0
'156': 0
'157': 0
'158': 0
'159': 0
'160': 0
'161': 0
'162': 0
'163': 0
'164': 0
'165': 0
'166': 0
'167': 0
errorChart:
'0': 0
'1': 0
'2': 0
'3': 0
'4': 0
'5': 0
'6': 0
'7': 0
'8': 0
'9': 0
'10': 0
'11': 0
'12': 0
'13': 0
'14': 0
'15': 0
'16': 0
'17': 0
'18': 0
'19': 0
'20': 0
'21': 0
'22': 0
'23': 0
'24': 0
'25': 0
'26': 0
'27': 0
'28': 0
'29': 0
'30': 0
'31': 0
'32': 0
'33': 0
'34': 0
'35': 0
'36': 0
'37': 0
'38': 0
'39': 0
'40': 0
'41': 0
'42': 0
'43': 0
'44': 0
'45': 0
'46': 0
'47': 0
'48': 0
'49': 0
'50': 0
'51': 0
'52': 0
'53': 0
'54': 0
'55': 0
'56': 0
'57': 0
'58': 0
'59': 0
'60': 0
'61': 0
'62': 0
'63': 0
'64': 0
'65': 0
'66': 0
'67': 0
'68': 0
'69': 0
'70': 0
'71': 0
'72': 0
'73': 0
'74': 0
'75': 0
'76': 0
'77': 0
'78': 0
'79': 0
'80': 0
'81': 0
'82': 0
'83': 0
'84': 0
'85': 0
'86': 0
'87': 0
'88': 0
'89': 0
'90': 0
'91': 0
'92': 0
'93': 0
'94': 0
'95': 0
'96': 0
'97': 0
'98': 0
'99': 0
'100': 0
'101': 0
'102': 0
'103': 0
'104': 0
'105': 0
'106': 0
'107': 0
'108': 0
'109': 0
'110': 0
'111': 0
'112': 0
'113': 0
'114': 0
'115': 0
'116': 0
'117': 0
'118': 0
'119': 0
'120': 0
'121': 0
'122': 0
'123': 0
'124': 0
'125': 0
'126': 0
'127': 0
'128': 0
'129': 0
'130': 0
'131': 0
'132': 0
'133': 0
'134': 0
'135': 0
'136': 0
'137': 0
'138': 0
'139': 0
'140': 0
'141': 0
'142': 0
'143': 0
'144': 0
'145': 0
'146': 0
'147': 0
'148': 0
'149': 0
'150': 0
'151': 0
'152': 0
'153': 0
'154': 0
'155': 0
'156': 0
'157': 0
'158': 0
'159': 0
'160': 0
'161': 0
'162': 0
'163': 0
'164': 0
'165': 0
'166': 0
'167': 0
errorAccumulationChart:
'0': 0
'1': 0
'2': 0
'3': 0
'4': 0
'5': 0
'6': 0
'7': 0
'8': 0
'9': 0
'10': 0
'11': 0
'12': 0
'13': 0
'14': 0
'15': 0
'16': 0
'17': 0
'18': 0
'19': 0
'20': 0
'21': 0
'22': 0
'23': 0
'24': 0
'25': 0
'26': 0
'27': 0
'28': 0
'29': 0
'30': 0
'31': 0
'32': 0
'33': 0
'34': 0
'35': 0
'36': 0
'37': 0
'38': 0
'39': 0
'40': 0
'41': 0
'42': 0
'43': 0
'44': 0
'45': 0
'46': 0
'47': 0
'48': 0
'49': 0
'50': 0
'51': 0
'52': 0
'53': 0
'54': 0
'55': 0
'56': 0
'57': 0
'58': 0
'59': 0
'60': 0
'61': 0
'62': 0
'63': 0
'64': 0
'65': 0
'66': 0
'67': 0
'68': 0
'69': 0
'70': 0
'71': 0
'72': 0
'73': 0
'74': 0
'75': 0
'76': 0
'77': 0
'78': 0
'79': 0
'80': 0
'81': 0
'82': 0
'83': 0
'84': 0
'85': 0
'86': 0
'87': 0
'88': 0
'89': 0
'90': 0
'91': 0
'92': 0
'93': 0
'94': 0
'95': 0
'96': 0
'97': 0
'98': 0
'99': 0
'100': 0
'101': 0
'102': 0
'103': 0
'104': 0
'105': 0
'106': 0
'107': 0
'108': 0
'109': 0
'110': 0
'111': 0
'112': 0
'113': 0
'114': 0
'115': 0
'116': 0
'117': 0
'118': 0
'119': 0
'120': 0
'121': 0
'122': 0
'123': 0
'124': 0
'125': 0
'126': 0
'127': 0
'128': 0
'129': 0
'130': 0
'131': 0
'132': 0
'133': 0
'134': 0
'135': 0
'136': 0
'137': 0
'138': 0
'139': 0
'140': 0
'141': 0
'142': 0
'143': 0
'144': 0
'145': 0
'146': 0
'147': 0
'148': 0
'149': 0
'150': 0
'151': 0
'152': 0
'153': 0
'154': 0
'155': 0
'156': 0
'157': 0
'158': 0
'159': 0
'160': 0
'161': 0
'162': 0
'163': 0
'164': 0
'165': 0
'166': 0
'167': 0
errorBudgetRemainChart:
'0': 0
'1': 0
'2': 0
'3': 0
'4': 0
'5': 0
'6': 0
'7': 0
'8': 0
'9': 0
'10': 1
'11': 1
'12': 1
'13': 1
'14': 1
'15': 1
'16': 1
'17': 1
'18': 1
'19': 1
'20': 1
'21': 2
'22': 2
'23': 2
'24': 2
'25': 2
'26': 2
'27': 2
'28': 2
'29': 2
'30': 2
'31': 2
'32': 2
'33': 3
'34': 3
'35': 3
'36': 3
'37': 3
'38': 3
'39': 3
'40': 3
'41': 3
'42': 3
'43': 3
'44': 4
'45': 4
'46': 4
'47': 4
'48': 4
'49': 4
'50': 4
'51': 4
'52': 4
'53': 4
'54': 4
'55': 4
'56': 5
'57': 5
'58': 5
'59': 5
'60': 5
'61': 5
'62': 5
'63': 5
'64': 5
'65': 5
'66': 5
'67': 6
'68': 6
'69': 6
'70': 6
'71': 6
'72': 6
'73': 6
'74': 6
'75': 6
'76': 6
'77': 6
'78': 6
'79': 7
'80': 7
'81': 7
'82': 7
'83': 7
'84': 7
'85': 7
'86': 7
'87': 7
'88': 7
'89': 7
'90': 7
'91': 7
'92': 7
'93': 7
'94': 7
'95': 7
'96': 7
'97': 7
'98': 7
'99': 7
'100': 7
'101': 7
'102': 7
'103': 7
'104': 7
'105': 7
'106': 7
'107': 7
'108': 7
'109': 7
'110': 7
'111': 7
'112': 7
'113': 7
'114': 7
'115': 8
'116': 8
'117': 8
'118': 8
'119': 8
'120': 8
'121': 8
'122': 8
'123': 8
'124': 8
'125': 8
'126': 8
'127': 9
'128': 9
'129': 9
'130': 9
'131': 9
'132': 9
'133': 9
'134': 9
'135': 9
'136': 9
'137': 9
'138': 10
'139': 10
'140': 10
'141': 10
'142': 10
'143': 10
'144': 10
'145': 10
'146': 10
'147': 10
'148': 10
'149': 10
'150': 11
'151': 11
'152': 11
'153': 11
'154': 11
'155': 11
'156': 11
'157': 11
'158': 11
'159': 11
'160': 11
'161': 12
'162': 12
'163': 12
'164': 12
'165': 12
'166': 12
'167': 12
schema:
type: array
items:
$ref: '#/components/schemas/SloReport'
description: Fetched SLO Configuration Report Successfully
'404':
content:
application/json:
example:
errors:
- There is no SLO configuration for the given ID or the report hasn't been generated yet.
schema:
type: array
items:
type: string
description: There is no SLO configuration for the given ID or the report hasn't been generated yet.
security:
- ApiKeyAuth:
- Default
summary: Generate Service Levels report
tags:
- Service Levels Objective(SLO) Report
x-ibm-ahub-byok: true
/api/synthetics/catalog:
get:
operationId: getSyntheticTagCatalog
parameters:
- in: query
name: useCase
required: true
schema:
type: string
enum:
- GROUPING
- FILTERING
- SERVICE_MAPPING
- SMART_ALERTS
- SMART_ALERTS_LOGS
- SMART_ALERTS_ADAPTIVE_BASELINE
- SMART_ALERTS_CUSTOM_PAYLOAD
- SLI_MANAGEMENT
- APPLICATION_CONFIG
- APPLICATION_CONFIG_BLUEPRINT
- MAINTENANCE_WINDOWS
- BIZOPS_CUSTOM_DASHBOARDS_FILTERING
responses:
'200':
content:
application/json:
example:
tagTree:
- label: Commonly Used
description: null
icon: null
children:
- label: Location Label
tagName: synthetic.locationLabel
type: TAG
- label: Synthetic Type Label
tagName: synthetic.typeLabel
type: TAG
- label: Tags
tagName: synthetic.tags
type: TAG
type: LEVEL
queryable: false
- label: Application
description: null
icon: null
children:
- label: Application Id
tagName: synthetic.applicationId
type: TAG
type: LEVEL
queryable: false
- label: Synthetic Test
description: null
icon: null
children:
- label: Errors
tagName: synthetic.errors
type: TAG
- label: Synthetic Type
tagName: synthetic.syntheticType
type: TAG
- label: Synthetic Type Label
tagName: synthetic.typeLabel
type: TAG
- label: Tags
tagName: synthetic.tags
type: TAG
- label: Test Active
tagName: synthetic.testActive
type: TAG
- label: Test Id
tagName: synthetic.testId
type: TAG
- label: Test Name
tagName: synthetic.testName
type: TAG
type: LEVEL
queryable: false
- label: Location
description: null
icon: null
children:
- label: Location Id
tagName: synthetic.locationId
type: TAG
- label: Location Label
tagName: synthetic.locationLabel
type: TAG
- label: Location Type
tagName: synthetic.locationType
type: TAG
type: LEVEL
queryable: false
tags:
- name: synthetic.locationId
label: Location Id
type: STRING
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
- name: synthetic.locationLabel
label: Location Label
type: STRING
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
- name: synthetic.syntheticType
label: Synthetic Type
type: STRING
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
- name: synthetic.typeLabel
label: Synthetic Type Label
type: STRING
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
- name: synthetic.applicationId
label: Application Id
type: STRING
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
- name: synthetic.tags
label: Tags
type: KEY_VALUE_PAIR
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
- name: synthetic.testId
label: Test Id
type: STRING
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
- name: synthetic.testName
label: Test Name
type: STRING
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
- name: synthetic.errors
label: Errors
type: STRING_LIST
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
- name: synthetic.testActive
label: Test Active
type: BOOLEAN
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
- name: synthetic.locationType
label: Location Type
type: STRING
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
schema:
$ref: '#/components/schemas/TagCatalog'
description: OK
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get synthetic tag catalog
tags:
- Synthetic Catalog
x-ibm-ahub-byok: true
/api/synthetics/catalog/metrics:
get:
operationId: getSyntheticCatalogMetrics
responses:
'200':
content:
application/json:
example:
- metricId: synthetic.metricResponseTime
label: Response Time
formatter: MILLIS
description: Script response time in milliseconds
aggregations:
- MEAN
- 25th
- 50th
- 75th
- 90th
- 95th
- 98th
- 99th
- SUM
defaultAggregation: null
schema:
type: array
items:
$ref: '#/components/schemas/MetricDescription'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get Metric catalog
tags:
- Synthetic Catalog
x-ibm-ahub-byok: true
/api/synthetics/metrics:
post:
description: |-
API request to retrieve Synthetic Metrics.
For more information on Synthetic Metrics please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-metrics.
operationId: getMetricsResult
requestBody:
content:
application/json:
example:
pagination:
page: 1
pageSize: 3
metrics:
- metric: synthetic.metricsResponseTime
aggregation: SUM
timeFrame:
to: 0
windowSize: 3600000
groups:
- groupbyTag: synthetic.applicationId
- groupbyTag: synthetic.tags
groupbyTagSecondLevelTag: region
schema:
$ref: '#/components/schemas/GetMetricsResult'
responses:
'200':
content:
application/json:
example:
metricsResult:
- tests:
- testId: 6GwdCuiMjGdMrtz8THjo
testName: rumattach-BasicNavTest
locationId:
- f7cEoG61DJfVyWcDnWsc
applicationId: application1
serviceId: serviceId1
metrics:
- synthetic.metricsResponseTime: 1276
customMetrics:
- region: region1
- tests:
- testId: OCnmrLSlNgzntI68094j
testName: test-javascript-bundled
locationId:
- wHICfVoIpiHbwawo5xQ6
applicationId: application2
serviceId: serviceId2
metrics:
- synthetic.metricsResponseTime: 14
customMetrics:
- location: location1
region: region2
- tests:
- testId: 9i6gpys6whaYtN5k9VeD
testName: My_Test_ReadFile
locationId:
- DemoPoP1_saas_instana_test
applicationId: application3
serviceId: serviceid3
metrics:
- synthetic.metricsResponseTime: 7
customMetrics:
- location: location3
region: region3
page: 1
pageSize: 3
totalHits: 2212
schema:
$ref: '#/components/schemas/MetricsResult'
description: OK
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get Synthetic Metrics
tags:
- Synthetic Metrics
x-ibm-ahub-byok: true
/api/synthetics/results:
post:
description: |-
Get a list of aggregated playback results metrics for Synthetic tests matching the specified parameters
For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results.
operationId: getSyntheticResult
requestBody:
content:
application/json:
example:
pagination:
page: 1
pageSize: 3
metrics:
- metric: synthetic.metricsResponseTime
aggregation: SUM
order:
by: synthetic.startTime
direction: DESC
timeFrame:
to: 0
windowSize: 144000000
schema:
$ref: '#/components/schemas/GetTestResult'
responses:
'200':
content:
application/json:
example:
testResult:
- testId: 6GwdCuiMjGdMrtz8THjo
testName: rumattach-BasicNavTest
locationId:
- f7cEoG61DJfVyWcDnWsc
metrics:
- synthetic.metricsResponseTime: 1276
- testId: OCnmrLSlNgzntI68094j
testName: test-javascript-bundled
locationId:
- wHICfVoIpiHbwawo5xQ6
metrics:
- synthetic.metricsResponseTime: 14
- testId: 9i6gpys6whaYtN5k9VeD
testName: My_Test_ReadFile
locationId:
- DemoPoP1_saas_instana_test
metrics:
- synthetic.metricsResponseTime: 7
page: 1
pageSize: 3
totalHits: 2212
schema:
$ref: '#/components/schemas/TestResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get Synthetic test playback results
tags:
- Synthetic Test Playback Results
x-ibm-ahub-byok: true
/api/synthetics/results/analytic:
post:
description: |-
Get a list of playback results metrics for Synthetic tests matching the specified parameters for the specified analytic
For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results.
operationId: getSyntheticResultAnalytic
requestBody:
content:
application/json:
example:
pagination:
page: 1
pageSize: 3
syntheticMetrics:
- synthetic.metricsResponseTime
- status
- synthetic.errors
order:
by: start_time
direction: DESC
timeFrame:
to: 0
windowSize: 144000000
TagFilterExpression:
type: EXPRESSION
elements:
- type: EXPRESSION
elements:
- name: synthetic.errors
stringValue: Exception
operator: CONTAINS
logicalOperator: OR
logicalOperator: OR
analyticFunction: LAST_VALUE
schema:
$ref: '#/components/schemas/GetTestResultAnalytic'
responses:
'200':
content:
application/json:
example:
items:
- testResultCommonProperties:
testId: 9i6gpys6whaYtN5k9VeD
testName: My_Test_ReadFile
locationId: DemoPoP1_saas_instana_test
clientId: saas_instana_test
id: 8f3bedbb-e278-4584-81b8-6efe07286a55
errors:
- |-
{timeStamp=1706131087368, errorType=Exception, errorMessage=access to path /etc/pop/redispass/redis-password is denied, stackTrace=Error: access to path /etc/pop/redispass/redis-password is denied
at /opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750914
at Array.forEach ()
at s (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750876)
at Object.openSync (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1751693)
at VM Wrapper.apply (vm/bridge.js:468:15)
at /tmp/9i6gpys6whaYtN5k9VeD/script.js:7:13
at /tmp/9i6gpys6whaYtN5k9VeD/script.js:21:3
at VM Wrapper.apply (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1806330)
at k.run (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1771939)
at Object.e.exports.execute (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1739863)
at process. (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:2197562)
at Object.onceWrapper (node:events:628:26)
at process.emit (node:events:513:28)
at emit (node:internal/child_process:946:14)
at processTicksAndRejections (node:internal/process/task_queues:84:21)}
locationDisplayLabel: DemoPoP1(vm)
metrics:
response_time:
- - 1706131087358
- 9
status:
- - 1706131087358
- 0
- testResultCommonProperties:
testId: QRN50tqvJPnwKIjn2qKx
testName: Demo_IBM_simple_ping
locationId: DemoPoP1_saas_instana_test
clientId: saas_instana_test
id: 7f503812-c428-4ea8-995d-dbdf97c145b7
errors:
- '{timeStamp=1706131070262, errorType=Exception, errorMessage=Ping: http://httpbin.org/status/200%2C400 -> Expected a success status (status < 400) but got 400, stackTrace=}'
locationDisplayLabel: DemoPoP1(vm)
metrics:
response_time:
- - 1706131070111
- 149
status:
- - 1706131070111
- 0
- testResultCommonProperties:
testId: mfwdxHpvwXM1PGUBAFeP
testName: test-disable-api-simple-jul17
locationId: f7cEoG61DJfVyWcDnWsc
clientId: saas_instana_test
id: a1a4ed1c-7c87-45d5-bf45-3f3c462445d7
errors:
- |-
{timeStamp=1706131069537, errorType=Exception, errorMessage=Unable to parse response body as JSON: Unexpected token < in JSON at position 0, stackTrace=Error: Unable to parse response body as JSON: Unexpected token < in JSON at position 0
at /opt/ibm/microservice/javascript-playback/bin/index.js:2:1057667
at k. (/opt/ibm/microservice/javascript-playback/bin/index.js:2:1058257)
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)}
locationDisplayLabel: Test-Pop-101
metrics:
response_time:
- - 1706131069036
- 490
status:
- - 1706131069036
- 0
page: 1
pageSize: 3
totalHits: 14305
schema:
$ref: '#/components/schemas/TestResultListResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get a list of Synthetic tests based on the specified analytic function
tags:
- Synthetic Test Playback Results
x-ibm-ahub-byok: true
/api/synthetics/results/list:
post:
description: |-
Get a list of playback results metrics for Synthetic tests matching the specified parameters
For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results.
operationId: getSyntheticResultList
requestBody:
content:
application/json:
example:
pagination:
page: 1
pageSize: 3
syntheticMetrics:
- synthetic.metricsResponseTime
- status
- synthetic.errors
order:
by: start_time
direction: DESC
timeFrame:
to: 0
windowSize: 144000000
TagFilterExpression:
type: EXPRESSION
elements:
- type: EXPRESSION
elements:
- name: synthetic.errors
stringValue: Exception
operator: CONTAINS
logicalOperator: OR
logicalOperator: OR
schema:
$ref: '#/components/schemas/GetTestResultList'
responses:
'200':
content:
application/json:
example:
items:
- testResultCommonProperties:
testId: 9i6gpys6whaYtN5k9VeD
testName: My_Test_ReadFile
locationId: DemoPoP1_saas_instana_test
clientId: saas_instana_test
id: 8f3bedbb-e278-4584-81b8-6efe07286a55
errors:
- |-
{timeStamp=1706131087368, errorType=Exception, errorMessage=access to path /etc/pop/redispass/redis-password is denied, stackTrace=Error: access to path /etc/pop/redispass/redis-password is denied
at /opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750914
at Array.forEach ()
at s (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1750876)
at Object.openSync (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1751693)
at VM Wrapper.apply (vm/bridge.js:468:15)
at /tmp/9i6gpys6whaYtN5k9VeD/script.js:7:13
at /tmp/9i6gpys6whaYtN5k9VeD/script.js:21:3
at VM Wrapper.apply (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1806330)
at k.run (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1771939)
at Object.e.exports.execute (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:1739863)
at process. (/opt/ibm/microservice/javascript-playback/bin/vm/runner.bundle.js:2:2197562)
at Object.onceWrapper (node:events:628:26)
at process.emit (node:events:513:28)
at emit (node:internal/child_process:946:14)
at processTicksAndRejections (node:internal/process/task_queues:84:21)}
locationDisplayLabel: DemoPoP1(vm)
metrics:
response_time:
- - 1706131087358
- 9
status:
- - 1706131087358
- 0
- testResultCommonProperties:
testId: QRN50tqvJPnwKIjn2qKx
testName: Demo_IBM_simple_ping
locationId: DemoPoP1_saas_instana_test
clientId: saas_instana_test
id: 7f503812-c428-4ea8-995d-dbdf97c145b7
errors:
- '{timeStamp=1706131070262, errorType=Exception, errorMessage=Ping: http://httpbin.org/status/200%2C400 -> Expected a success status (status < 400) but got 400, stackTrace=}'
locationDisplayLabel: DemoPoP1(vm)
metrics:
response_time:
- - 1706131070111
- 149
status:
- - 1706131070111
- 0
- testResultCommonProperties:
testId: mfwdxHpvwXM1PGUBAFeP
testName: test-disable-api-simple-jul17
locationId: f7cEoG61DJfVyWcDnWsc
clientId: saas_instana_test
id: a1a4ed1c-7c87-45d5-bf45-3f3c462445d7
errors:
- |-
{timeStamp=1706131069537, errorType=Exception, errorMessage=Unable to parse response body as JSON: Unexpected token < in JSON at position 0, stackTrace=Error: Unable to parse response body as JSON: Unexpected token < in JSON at position 0
at /opt/ibm/microservice/javascript-playback/bin/index.js:2:1057667
at k. (/opt/ibm/microservice/javascript-playback/bin/index.js:2:1058257)
at runMicrotasks ()
at processTicksAndRejections (node:internal/process/task_queues:96:5)}
locationDisplayLabel: Test-Pop-101
metrics:
response_time:
- - 1706131069036
- 490
status:
- - 1706131069036
- 0
page: 1
pageSize: 3
totalHits: 14305
schema:
$ref: '#/components/schemas/TestResultListResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get a list of Synthetic test playback results
tags:
- Synthetic Test Playback Results
x-ibm-ahub-byok: true
/api/synthetics/results/locationsummarylist:
post:
description: |-
Get summary information for Synthetic locations matching the specified parameters
For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results.
operationId: getLocationSummaryList
requestBody:
content:
application/json:
example:
timeFrame:
to: null
windowSize: 300000
pagination:
page: 1
pageSize: 3
schema:
$ref: '#/components/schemas/GetTestResultBase'
responses:
'200':
content:
application/json:
example:
items:
- id: wFulJMRXA3bZgAlhCuZV
label: test101-pop
displayLabel: west-12(Idaho)
type: Private
status: Online
linkedTests: 0
lastRunOn: 0
namespace: my-kedatest
clusterName: test101-pop
description: PoP in region test101 for my-kedatest
popSnapshotId: null
popVersion: 1.1.2
- id: 0po5d5MxSZx91moqCbri
label: apminstana-pop
displayLabel: apminstana-pop
type: Private
status: Online
linkedTests: 12
lastRunOn: 0
namespace: redwood
clusterName: apminstana-pop
description: This is a Synthetic Point of Presence
popSnapshotId: ZFOBIU_Stg9FWs4DMRVY7VTSmBs
entityHealthInfo:
maxSeverity: 0
openIssues: []
popVersion: 1.1.1
- id: c7sXV7jZcuiD2ewGAjYI
label: Aggie
displayLabel: Aggie popLoc
type: Private
status: Offline
linkedTests: 9
lastRunOn: 0
namespace: poploc
clusterName: instana-pop-deployment
description: My City Kubecost
popSnapshotId: null
popVersion: 1.0.15
page: 1
pageSize: 3
totalHits: 47
schema:
$ref: '#/components/schemas/TestResultListResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get a list of Synthetic locations with last run test on each location data
tags:
- Synthetic Test Playback Results
x-ibm-ahub-byok: true
/api/synthetics/results/testsummarylist:
post:
description: |-
Get a summary of the playback results metrics and success rate for Synthetic tests matching the specified parameters
For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results.
operationId: getTestSummaryList
requestBody:
content:
application/json:
example:
metrics:
- aggregation: MEAN
metric: success_rate
granularity: 600
TagFilterExpression:
type: EXPRESSION
elements:
- name: synthetic.testActive
booleanValue: true
operator: EQUALS
logicalOperator: AND
timeFrame:
to: 0
windowSize: 1800000
pagination:
page: 1
pageSize: 3
schema:
$ref: '#/components/schemas/GetTestSummaryResult'
responses:
'200':
content:
application/json:
example:
items:
- testResultCommonProperties:
testId: 0FzZz41QwOxPjOUE0VhU
testName: 260-browserwebpage
clientId: saas_instana_test
testCommonProperties:
id: 0FzZz41QwOxPjOUE0VhU
label: 260-browserwebpage
type: Webpage Simple
frequency: 3
active: true
locationIds:
- KHphVmZqqRf9Kp2xSoud
- cs1RvxTXJcavxnbQ6fBE
locationLabels:
- microk8s_PoP
- mini_PoP2_BrowserTest
locationDisplayLabels:
- MicroK8s PoP
- mini_PoP2_BrowserTest
locationStatusList:
- locationId: KHphVmZqqRf9Kp2xSoud
totalTestRuns: 10
successRuns: 10
locationDisplayLabel: MicroK8s PoP
successRate: 1
- locationId: cs1RvxTXJcavxnbQ6fBE
totalTestRuns: 0
successRuns: 0
locationDisplayLabel: mini_PoP2_BrowserTest
successRate: 0
createdAt: 1697175933150
modifiedAt: 1700456221719
metrics:
total_test_runs:
- - 1706132249095
- 10
successful_test_runs:
- - 1706132249095
- 10
response_time:
- - 1706132249095
- 372.9
success_rate:
- - 1706132249095
- 1
- testResultCommonProperties:
testId: 0OKldV7M44UfDxmNt1Ef
testName: Syne2eHttpActionTest
clientId: saas_instana_test
testCommonProperties:
id: 0OKldV7M44UfDxmNt1Ef
label: Syne2eHttpActionTest
type: API Simple
frequency: 5
active: true
locationIds:
- 18WyhtDb5jpVOsjlNdeV
locationLabels:
- Syne2e
locationDisplayLabels:
- E2ETest PoP
locationStatusList:
- locationId: 18WyhtDb5jpVOsjlNdeV
totalTestRuns: 6
successRuns: 6
locationDisplayLabel: E2ETest PoP
successRate: 1
createdAt: 1703867554340
modifiedAt: 1703867554340
metrics:
total_test_runs:
- - 1706132249095
- 6
successful_test_runs:
- - 1706132249095
- 6
response_time:
- - 1706132249095
- 157.5
success_rate:
- - 1706132249095
- 1
- testResultCommonProperties:
testId: 0qB3qb9659JBJ86bflnf
testName: Syne2eHttpActionTest
clientId: saas_instana_test
testCommonProperties:
id: 0qB3qb9659JBJ86bflnf
label: Syne2eHttpActionTest
type: API Simple
frequency: 5
active: true
locationIds:
- 18WyhtDb5jpVOsjlNdeV
locationLabels:
- Syne2e
locationDisplayLabels:
- E2ETest PoP
locationStatusList:
- locationId: 18WyhtDb5jpVOsjlNdeV
totalTestRuns: 6
successRuns: 6
locationDisplayLabel: E2ETest PoP
successRate: 1
createdAt: 1702269153825
modifiedAt: 1702269153825
metrics:
total_test_runs:
- - 1706132249095
- 6
successful_test_runs:
- - 1706132249095
- 6
response_time:
- - 1706132249095
- 178.66666666666666
success_rate:
- - 1706132249095
- 1
page: 1
pageSize: 3
totalHits: 567
schema:
$ref: '#/components/schemas/TestResultListResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get a list of Synthetic tests with success rate and average response time data
tags:
- Synthetic Test Playback Results
x-ibm-ahub-byok: true
'/api/synthetics/results/{testid}/{testresultid}':
get:
description: |-
Gets the list of detailed data file names associated to a Synthetic playback result
For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results.
operationId: getSyntheticResultMetadata
parameters:
- description: Test id of the test result detailed description to be retrieved
example: AMl0Y7tsvpp8XXrXt1XO
in: path
name: testid
required: true
schema:
type: string
- description: Test result id of the test result detailed description to be retrieved
example: 5623c161-31d6-49b8-b314-91d4fb598f55
in: path
name: testresultid
required: true
schema:
type: string
- description: Start time of the test result detailed description
example: 1730295066008
in: query
name: startTime
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
testId: AMl0Y7tsvpp8XXrXt1XO
testResultId: 5623c161-31d6-49b8-b314-91d4fb598f55
startTime: 1730295066008
metadata:
logs.tgz:
- console.log
schema:
$ref: '#/components/schemas/TestResultMetadata'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get Synthetic test playback detail result description(metadata)
tags:
- Synthetic Test Playback Results
x-ibm-ahub-byok: true
'/api/synthetics/results/{testid}/{testresultid}/detail':
get:
description: |-
Download the contents of the Synthetic the playback result detail data file matching the specified file type
For more information on Synthetic Test Playback Results please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-test-playback-results.
operationId: getSyntheticResultDetailData
parameters:
- description: Test id of the test result detailed file contents to be retrieved
example: AMl0Y7tsvpp8XXrXt1XO
in: path
name: testid
required: true
schema:
type: string
- description: Test result id of the test result detailed file to be retrieved
example: 5623c161-31d6-49b8-b314-91d4fb598f55
in: path
name: testresultid
required: true
schema:
type: string
- description: Type of the test result detailed file contents
example: LOGS
in: query
name: type
required: true
schema:
type: string
enum:
- HAR
- LOGS
- SUBTRANSACTIONS
- description: 'Name of the test result detailed file, if more than one file available for the same type. Can be used when parameter type=LOGS'
example: console.log
in: query
name: name
schema:
type: string
- description: Start time of the test result detailed file contents
example: 1730295066008
in: query
name: startTime
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
testId: AMl0Y7tsvpp8XXrXt1XO
testResultId: 5623c161-31d6-49b8-b314-91d4fb598f55
logs: |
2024-01-18T19:55:02.162Z [SyntheticPoP] synthetic playback starts
2024-01-18T19:55:02.169Z [SyntheticPoP] http request undefined https://www.ibm.com/
2024-01-18T19:55:02.319Z [SyntheticPoP] http response 303 for https://www.ibm.com/
2024-01-18T19:55:02.430Z [SyntheticPoP] http response 200 for https://www.ibm.com/us-en
2024-01-18T19:55:02.478Z http request 1/2: 200
2024-01-18T19:56:01.103Z [SyntheticPoP] synthetic playback ends
logFiles:
console.log: |
2024-01-18T19:55:02.162Z [SyntheticPoP] synthetic playback starts
2024-01-18T19:55:02.169Z [SyntheticPoP] http request undefined https://www.ibm.com/
2024-01-18T19:55:02.319Z [SyntheticPoP] http response 303 for https://www.ibm.com/
2024-01-18T19:55:02.430Z [SyntheticPoP] http response 200 for https://www.ibm.com/us-en
2024-01-18T19:55:02.478Z http request 1/2: 200
2024-01-18T19:56:01.103Z [SyntheticPoP] synthetic playback ends
schema:
$ref: '#/components/schemas/TestResultDetailData'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get Synthetic test playback result detail data
tags:
- Synthetic Test Playback Results
x-ibm-ahub-byok: true
'/api/synthetics/results/{testid}/{testresultid}/file':
get:
operationId: getSyntheticResultDetailDataFile
parameters:
- description: Test id of the test result detailed file to be retrieved
example: AMl0Y7tsvpp8XXrXt1XO
in: path
name: testid
required: true
schema:
type: string
- description: Test result id of the test result detailed file to be retrieved
example: 5623c161-31d6-49b8-b314-91d4fb598f55
in: path
name: testresultid
required: true
schema:
type: string
- description: Type of the test result detailed file
example: LOGS
in: query
name: type
required: true
schema:
type: string
enum:
- HAR
- IMAGES
- LOGS
- SUBTRANSACTIONS
- VIDEOS
- description: Start time of the test result detailed file
example: 1730295066008
in: query
name: startTime
schema:
type: integer
format: int64
responses:
'200':
content:
application/octet-stream: {}
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Download the synthetic test playback result detail data file
tags:
- Synthetic Test Playback Results
x-ibm-ahub-byok: true
/api/synthetics/settings/credentials:
get:
description: |-
API request to retrieve the names of all Synthetic Credentials.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: getSyntheticCredentialNames
responses:
'200':
content:
application/json:
example:
- kittyhawk_test2
- user1_password
- user1_name
- MyBearer
- MY_CREDS333
- Test_Creds
- credName5
- credName4
- credName3
- credName2
- credName1
- MY_CREDS1
- MY_PASS
- USER_NAME_TEST
schema:
type: array
items:
type: string
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canUseSyntheticCredentials
- canConfigureSyntheticTests
summary: All Synthetic credential names
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
post:
description: |-
API request to create a Synthetic Credential.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: createSyntheticCredential
requestBody:
content:
application/json:
example:
credentialName: userPassword
credentialValue: '123456'
rbacTags:
- id: test
displayName: test
schema:
$ref: '#/components/schemas/SyntheticCredential'
required: true
responses:
'200':
content:
application/json: {}
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticCredentials
summary: Create a Synthetic credential
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
/api/synthetics/settings/credentials/associations:
get:
description: |-
API request to retrieve all Synthetic Credentials.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: getSyntheticCredentialAssociations
responses:
'200':
content:
application/json:
example:
- credentialName: password1
createdAt: 1717617206785
modifiedAt: 1717617206785
- credentialName: password2
applications:
- f4KX5zd8RW2pERKKFUCZgQ
applicationLabels:
- All Services
createdAt: 1717620972843
modifiedAt: 1717620972843
schema:
type: array
items:
$ref: '#/components/schemas/SyntheticCredential'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canUseSyntheticCredentials
- canConfigureSyntheticTests
summary: All Synthetic credentials
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
'/api/synthetics/settings/credentials/associations/{name}':
get:
description: |-
API request to retrieve a Synthetic Credential with matching name.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: getOneSyntheticCredentialAssociations
parameters:
- description: Name of the credential to be retrieved
example: password4test
in: path
name: name
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
credentialName: password4test
applications:
- f4KX5zd8RW2pERKKFUCZgQ
applicationLabels:
- All Services
createdAt: 1717620972843
modifiedAt: 1717620972843
schema:
$ref: '#/components/schemas/SyntheticCredential'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canUseSyntheticCredentials
- canConfigureSyntheticTests
summary: A Synthetic credential
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
'/api/synthetics/settings/credentials/{name}':
delete:
description: |-
API request to delete a Synthetic Credential.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: deleteSyntheticCredential
parameters:
- description: Name of the credential to be deleted
example: password4test
in: path
name: name
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticCredentials
summary: Delete a Synthetic credential
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
patch:
operationId: patchSyntheticCredential
parameters:
- description: Name of the credential to be patched
example: password4test
in: path
name: name
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
credentialValue: password4test
applications:
- f4KX5zd8RW2pERKKFUCZgQ
rbacTags:
- id: test
displayName: test
schema:
$ref: '#/components/schemas/SyntheticCredential'
required: true
responses:
'200':
content:
application/json: {}
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canUseSyntheticCredentials
- canConfigureSyntheticTests
summary: Patch a Synthetic credential
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
put:
description: |-
API request to update a Synthetic Credential.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: updateSyntheticCredential
parameters:
- description: Name of the credential to be updated
example: password4db2
in: path
name: name
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
credentialName: password4db2
credentialValue: '123456'
applications:
- f4KX5zd8RW2pERKKFUCZgQ
rbacTags:
- id: test
displayName: test
schema:
$ref: '#/components/schemas/SyntheticCredential'
required: true
responses:
'201':
content:
application/json: {}
description: Successful - resource created
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticCredentials
summary: Update a Synthetic credential
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
/api/synthetics/settings/datacenters:
get:
description: |-
API request to retrieve all Synthetic Datacenters.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: getSyntheticDatacenters
responses:
'200':
content:
application/json:
example:
- code: us-east-1
label: us-east-1(NVirginia)
provider: aws
countryName: USA
cityName: NVirginia
latitude: 37.22
longitude: -81.44
status: Active
modifiedAt: 1728096600396
configuration:
ipAddresses:
- 34.226.13.189
locationLabel: instana-test-aws-us-east-1-NVirginia
datacenterId: aws-us-east-1-NVirginia
- code: eu-central-1
label: eu-central-1(Frankfurt)
provider: aws
countryName: DEU
cityName: Frankfurt
latitude: 50.11
longitude: 8.68
status: Active
modifiedAt: 1710241599981
configuration:
ipAddresses:
- 3.122.151.177
locationLabel: instana-test-aws-eu-central-1-Frankfurt
datacenterId: aws-eu-central-1-Frankfurt
schema:
type: array
items:
$ref: '#/components/schemas/SyntheticDatacenter'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticLocations
summary: All Synthetic datacenters
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
'/api/synthetics/settings/datacenters/{datacenterId}':
get:
description: |-
API request to retrieve a Synthetic Datacenter with matching id.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: getSyntheticDatacenter
parameters:
- description: Id of the datacenter to be retrieved
example: aws-us-east-1-NVirginia
in: path
name: datacenterId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
code: us-east-1
label: us-east-1(NVirginia)
provider: aws
countryName: USA
cityName: NVirginia
latitude: 37.22
longitude: -81.44
status: Active
modifiedAt: 1728096600396
configuration:
ipAddresses:
- 34.226.13.189
locationLabel: instana-test-aws-us-east-1-NVirginia
datacenterId: aws-us-east-1-NVirginia
schema:
$ref: '#/components/schemas/SyntheticDatacenter'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticLocations
summary: A Synthetic datacenter
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
/api/synthetics/settings/locations:
get:
operationId: getSyntheticLocations
parameters:
- description: Defines the attribute by which the returned synthetic locations will be ordered by. Order using '+' means ASC and '-' means DESC
example: +label
in: query
name: sort
schema:
type: string
pattern: ' <+|->'
- description: Used in conjunction with limit. Defines how many pages will be skipped before returning the synthetic locations
example: 1
in: query
name: offset
schema:
type: integer
format: int64
- description: Defines the size of a page - the number of synthetic locations that will be returned by the query
example: 10
in: query
name: limit
schema:
type: integer
format: int64
- description: Defines the attributes by which the returned synthetic locations will be filtered by. Multiple filter parameters are allowed. See 'Supported filter attributes and operators' for complete list of supported attributes and operators.
example: '{locationType=Managed}'
in: query
name: filter
schema:
type: string
pattern: ' {}'
responses:
'200':
content:
application/json:
example:
- id: 55bzhnXQ9uqwld4Ha3bD
label: Austin
displayLabel: AUTO
popVersion: 1.1.2
description: My Location 101
locationType: Private
playbackCapabilities:
syntheticType:
- HTTPAction
- HTTPScript
- BrowserScript
- WebpageScript
browserType:
- firefox
- chrome
geoPoint:
cityName: austin
countryName: india
latitude: 0
longitude: 0
totalTests: 1
configuration:
namespace: syn-pop-tls
customProperties: {}
createdAt: 1698742890784
modifiedAt: 1702372728619
observedAt: 1704266105229
status: Offline
- id: OjJPXWHmsE9deLzanNAW
label: Dallas
displayLabel: AUTOscaling
popVersion: 1.1.1
description: My Location 101
locationType: Private
playbackCapabilities:
syntheticType:
- HTTPAction
- HTTPScript
- BrowserScript
- WebpageScript
browserType:
- firefox
- chrome
geoPoint:
cityName: dallas
countryName: india
latitude: 0
longitude: 0
totalTests: 0
configuration:
namespace: andy
customProperties: {}
createdAt: 1698988890723
modifiedAt: 1700116951600
observedAt: 1705556766316
status: Offline
schema:
type: array
items:
$ref: '#/components/schemas/SyntheticLocation'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canViewSyntheticLocations
summary: All Synthetic locations
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
description: |+
This endpoint retrieves Synthetic Locations.
## Optional Parameters:
- **filter** Filters the Synthetic Locations to retrieve only the ones that match the specified filter condition.
Users are allowed to specify more than one filter parameter, and they will be combined in a single expression using logical operator 'AND'.
The filter parameter is formatted as '**_{\\\ | < | \>= | <= | Example |
|-|---|----|---|---|---|-|--------------------------------------------------------|
| label | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/locations?filter={label=MyPoP} |
| displayLabel | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/locations?filter={displayLabel=My PoP} |
| popVersion | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={popVersion=1.1.9} |
| description | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={description=My Test PoP} |
| locationType | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/locations?filter={locationType=Private} |
| playbackCapabilities.syntheticType | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/locations?filter={playbackCapabilities.syntheticType=HTTPAction} |
| playbackCapabilities.browserType | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/locations?filter={playbackCapabilities.browserType=chrome} |
| configuration.clusterName | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/locations?filter={configuration.clusterName=qa_cluster} |
| configuration.namespace | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/locations?filter={configuration.namespace=test_pop} |
| customProperties.\ | ✓ | ✓ | - | - | - | - | /api/ynthetics/settings/locations?filter={customProperty.usage=Test} |
| createdAt | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | /api/synthetics/settings/locations?filter={createdAt>1715190462000} |
| modifiedAt | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | /api/synthetics/settings/locations?filter={modifiedAt<=1715190462000} |
| observerdAt | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | /api/synthetics/settings/locations?filter={observedAt>=1715190462000} |
'/api/synthetics/settings/locations/{id}':
delete:
operationId: deleteSyntheticLocation
parameters:
- description: Identifier of the location to be deleted
example: 55bzhnXQ9uqwld4Ha3bD
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticLocations
summary: Delete a Synthetic location
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
description: |-
This API endpoint deletes a synthetic location.
Note: Users cannot use this API to delete managed locations.
get:
description: |-
API request to retrieve a Synthetic Location with matching id.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: getSyntheticLocation
parameters:
- description: Identifier of the location to be retrieved
example: OjJPXWHmsE9deLzanNAW
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: OjJPXWHmsE9deLzanNAW
label: Austin
displayLabel: AUTOscaling
popVersion: 1.1.1
description: Test Location 101
locationType: Private
playbackCapabilities:
syntheticType:
- HTTPAction
- HTTPScript
- BrowserScript
- WebpageScript
browserType:
- firefox
- chrome
geoPoint:
cityName: austin
countryName: india
latitude: 0
longitude: 0
totalTests: 0
configuration:
namespace: andy
customProperties: {}
createdAt: 1698988890723
modifiedAt: 1700116951600
observedAt: 1705556766316
status: Offline
schema:
$ref: '#/components/schemas/SyntheticLocation'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canViewSyntheticLocations
summary: A Synthetic location
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
/api/synthetics/settings/tests:
get:
operationId: getSyntheticTests
parameters:
- description: 'Defines the application id by which the returned synthetic tests will be filtered by. '
example: pWoK4onRRN-POTz1RU62UQ
in: query
name: applicationId
schema:
type: string
- description: 'Defines the location id by which the returned synthetic tests will be filtered by. '
example: 18WyhtDb5jpVOsjlNdeV
in: query
name: locationId
schema:
type: string
- description: 'Defines the credential name by which the returned synthetic tests will be filtered by. '
example: adminPassword
in: query
name: credentialName
schema:
type: string
- description: Defines the attribute by which the returned synthetic tests will be ordered by. Order using '+' means ASC and '-' means DESC
example: +label
in: query
name: sort
schema:
type: string
pattern: ' <+|->'
- description: Used in conjunction with limit. Defines how many pages will be skipped before returning the synthetic tests
example: 1
in: query
name: offset
schema:
type: integer
format: int64
- description: Defines the size of a page - the number of synthetic tests that will be returned by the query
example: 10
in: query
name: limit
schema:
type: integer
format: int64
- description: Defines the attributes by which the returned synthetic tests will be filtered by. Multiple filter parameters are allowed. See 'Supported filter attributes and operators' for complete list of supported attributes and operators.
example: '{label=MyTest}'
in: query
name: filter
schema:
type: string
pattern: ' {}'
responses:
'200':
content:
application/json:
example:
- id: ic25Vt1T5dgKzi0K7812
tenantId: saas_instana_test
label: 260-api-feature
active: true
testFrequency: 10
playbackMode: Simultaneous
applicationId: UOGJ3jBOSMOgN2EBCoOghw
applicationLabel: test_cb
locations:
- KHphVmZqqRf9Kp2xSoud
- cs1RvxTXJcavxnbQ6fBE
locationLabels:
- microk8s_PoP
- mini_PoP2_BrowserTest
locationDisplayLabels:
- MicroK8s PoP
- mini_PoP2_BrowserTest
configuration:
syntheticType: HTTPScript
markSyntheticCall: true
retries: 1
retryInterval: 1
timeout: ''
script: |-
const assert = require('assert');
$got('https://www.ibm.com').then(response=>{
console.log('request 1/2:', response.statusCode);
assert.equal(response.statusCode, 200, 'it should be 200')
setTimeout(()=>{
$got('https://www.bing.com').then(response=>{
console.log('request 2/2:', response.statusCode);
assert.equal(response.statusCode, 200, 'it should be 200')
})
}, 70000);
});
scriptType: Basic
customProperties: {}
createdAt: 1697175907759
modifiedAt: 1705915155144
- id: EFNRoPd39SgZBkULeQIf
tenantId: saas_instana_test
label: APITest_getApplication
active: true
testFrequency: 15
playbackMode: Simultaneous
applicationId: UOGJ3jBOSMOgN2EBCoOghw
applicationLabel: test_cb
locations:
- 18WyhtDb5jpVOsjlNdeV
locationLabels:
- Syne2e
locationDisplayLabels:
- E2ETest PoP
configuration:
syntheticType: HTTPScript
markSyntheticCall: true
retries: 2
retryInterval: 1
timeout: 10m
script: |-
const got = require('got');
const assert = require('assert');
// Define the API request configuration
const apiConfig = {
method: 'GET',
url: 'https://test-instana.pink.instana.rocks/api/application-monitoring/settings/application/btg-B701Rx6o9QNXUS4TVw',
headers: {
'Authorization': $secure.apiToken
}
};
// Function to perform the API test
const performAPITest = async () => {
const response = await got(apiConfig);
console.info("Get one application API - GET, response code: " + response.statusCode);
assert.ok(response.statusCode == 200, "GET status is " + response.statusCode + ", it should be 200");
const jsonBody = JSON.parse(response.body);
assert.ok(jsonBody.id != "", "Application ID is not in the payload");
assert.ok(jsonBody.label != "", "Application label is not in the payload");
assert.ok(jsonBody.tagFilterExpression != null, "tagFilterExpression is not in the payload");
};
// Initial test
performAPITest();
scriptType: Basic
customProperties:
test: '123'
createdAt: 1696625954210
modifiedAt: 1701216106812
modifiedBy: Internal
rbacTags:
- id: test
displayName: test
schema:
type: array
items:
$ref: '#/components/schemas/SyntheticTest'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canViewSyntheticTests
summary: All Synthetic tests
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
description: |+
This endpoint retrieves Synthetic Tests.
## Optional Parameters:
- **locationId** Filters the Synthetic Tests to retrieve only the ones that are associated to the specified PoP location ID.
- **filter** Filters the Synthetic Tests to retrieve only the ones that match the specified filter condition.
Users are allowed to specify more than one filter parameter, and they will be combined in a single expression using logical operator 'AND'.
The filter parameter is formatted as '**_{\\\ | < | \>= | <= | Example |
|-|---|----|---|---|---|-|---------|
| label | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={label=ABC} |
| description | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={description=MyTest} |
| active | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={active=true} |
| testFrequency | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={testFrequency=5} |
| applicationId | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={applicationId=APP_ID} |
| locations | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={locations=POP_ID} |
| locationLabels | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={locationLabels=MyPoP} |
| locationDisplayLabels | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={locationDisplayLabels=My PoP} |
| configuration.\ | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={configurtion.syntheticType=HTTPAction} |
| customProperties.\ | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={customProperty.usage=Test} |
| createdAt | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | /api/synthetics/settings/tests?filter={createdAt>1715190462000} |
| modifiedAt | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | /api/synthetics/settings/tests?filter={modifiedAt<=1715190462000} |
post:
operationId: createSyntheticTest
requestBody:
content:
application/json:
example:
label: Test_SimplePing
description: this is to test a simple ping API
applicationId: applicationId001
active: true
testFrequency: 1
playbackMode: Simultaneous
locations:
- saas_instana_test
configuration:
syntheticType: HTTPAction
url: 'https://httpbin.org/post'
operation: POST
headers:
Content-Type: text/plain
body: Hello World!
validationString: Hello World!
customProperties:
Team: DevTeam
Purpose: Demo
rbacTags:
- id: test
displayName: test
schema:
$ref: '#/components/schemas/SyntheticTest'
required: true
responses:
'201':
content:
application/json:
example:
id: ic25Vt1T5dgKzi0K7812
label: Test_SimplePing
description: this is to test a simple ping API
applicationId: applicationId001
active: true
testFrequency: 1
playbackMode: Simultaneous
locations:
- saas_instana_test
configuration:
syntheticType: HTTPAction
url: 'https://httpbin.org/post'
operation: POST
headers:
Content-Type: text/plain
body: Hello World!
validationString: Hello World!
customProperties:
Team: DevTeam
Purpose: Demo
rbacTags:
- id: test
displayName: test
schema:
$ref: '#/components/schemas/SyntheticTest'
description: Successful - resource created
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticTests
summary: Create a Synthetic test
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
description: |-
This API endpoint creates a Synthetic Test.
## Optional Parameters:
- **id** Users are allowed to specify their own id for the test. A test id can contain letters, numbers, underscores, colons and hyphens. Maximum length is 128.
## Sample script and payload:
- A sample script to create an API Simple test
```
curl -k -v -X POST \
https:///api/synthetics/settings/tests \
-H 'authorization: apiToken ' \
-H 'content-type: application/json' \
-d '{
"id":"test_id:12134-89",
"label":"Test_SimplePing",
"description":"this is to test a simple ping API",
"serviceId":"serviceId001",
"applicationId":"applicationId001",
"active":true,
"testFrequency":1,
"playbackMode":"Simultaneous",
"locations":[
"saas_instana_test"
],
"configuration":{
"syntheticType":"HTTPAction",
"url":"https://httpbin.org/post",
"operation":"POST",
"headers":{
"Content-Type":"text/plain"
},
"body":"Hello World!",
"validationString":"Hello World!"
},
"customProperties":{
"Team":"DevTeam",
"Purpose":"Demo"
}
}'
```
/api/synthetics/settings/tests/bulk-delete:
post:
description: API request to delete a list of Synthetic Tests.
operationId: bulkDeleteSyntheticTests
requestBody:
content:
application/json:
example:
- ic25Vt1T5dgKzi0K7812
- EFNRoPd39SgZBkULeQIf
- kaj02pbxbW0XmQP9qu4b
- FrhxAJzKdsXU6V4WxWrY
schema:
type: array
items:
type: string
required: true
responses:
'200':
content:
application/json:
example:
- id: ic25Vt1T5dgKzi0K7812
status: 200 - Success
- id: EFNRoPd39SgZBkULeQIf
status: 404 - Not Found
- id: kaj02pbxbW0XmQP9qu4b
status: 401 - Forbidden
- id: FrhxAJzKdsXU6V4WxWrY
status: 500 - Internal Server Error
schema:
type: array
items:
$ref: '#/components/schemas/SyntheticBulkResponse'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticTests
summary: Delete Synthetic tests
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
/api/synthetics/settings/tests/bulk-update:
post:
description: API request to update a list of Synthetic Tests.
operationId: bulkUpdateSyntheticTests
requestBody:
content:
application/json:
example: |
{
"ids" : [
"ic25Vt1T5dgKzi0K7812",
"EFNRoPd39SgZBkULeQIf",
"kaj02pbxbW0XmQP9qu4b",
"FrhxAJzKdsXU6V4WxWrY"
],
"locations": {
"add": [ "hGyJAQCTnMbpmWrYfbq6", "RMtD8XkRHmxG5N0IT418" ],
"remove": ["AOsPYuhGjpFHpNgWub90"],
},
"applications": {
"add": [ "XRVRqG3zLNDKlJUho90j" ]
},
"configuration": {
"timeout": "1s"
},
"customProperties": {
"add": {
"property1": "Test"
},
"remove": ["property2", "property3"],
}
{
schema:
$ref: '#/components/schemas/SyntheticTestUpdate'
required: true
responses:
'200':
content:
application/json:
example:
- id: ic25Vt1T5dgKzi0K7812
status: 200 - Success
- id: EFNRoPd39SgZBkULeQIf
status: 404 - Not Found
- id: kaj02pbxbW0XmQP9qu4b
status: 401 - Forbidden
- id: FrhxAJzKdsXU6V4WxWrY
status: 500 - Internal Server Error
schema:
type: array
items:
$ref: '#/components/schemas/SyntheticBulkResponse'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticTests
summary: Update Synthetic tests
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
/api/synthetics/settings/tests/ci-cd:
get:
operationId: getSyntheticTestCICDs
parameters:
- description: Defines the attributes by which the returned synthetic test CI/CDs will be filtered by. Multiple filter parameters are allowed. See 'Supported filter attributes and operators' for complete list of supported attributes and operators.
example: '{runType=OnDemand}'
in: query
name: filter
schema:
type: string
pattern: ' {}'
- description: Used in conjunction with limit. Defines how many pages will be skipped before returning the synthetic test CI/CDs
example: 1
in: query
name: offset
schema:
type: integer
format: int64
- description: Defines the size of a page - the number of synthetic test CI/CDs that will be returned by the query
example: 10
in: query
name: limit
schema:
type: integer
format: int64
responses:
'200':
content:
application/json:
example:
- testResultId: e22aba08-e630-422d-8d7a-19b8a1c75d32
locationId: r4zo4DjbORqEAES2c8xj
locationLabel: SynTest
testId: 5ufGW4jOnZNhViGmIbnx
testLabel: test
testType: HTTPAction
runType: OnDemand
completed: false
customization:
configuration:
retries: 1
timeout: 15s
customProperties:
tag: test
- testResultId: 0cf1324b-3022-4116-ae03-6c868daa43d4
locationId: r4zo4DjbORqEAES2c8xj
locationLabel: SynTest
testId: 5ufGW4jOnZNhViGmIbnx
testLabel: test
testType: HTTPAction
runType: OnDemand
completed: false
customization:
configuration:
retries: 2
timeout: 5s
schema:
type: array
items:
$ref: '#/components/schemas/SyntheticTestCICDItem'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticTests
summary: All Synthetic test CI/CDs
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
description: |
This endpoint retrieves Synthetic Test CI/CDs.
## Optional Parameters:
- **filter** Filters the Synthetic Test CI/CDs to retrieve only the ones that match the specified filter condition.
Users are allowed to specify more than one filter parameter, and they will be combined in a single expression using logical operator 'AND'.
The filter parameter is formatted as '**_{\\\ | < | \>= | <= | Example |
|-|---|----|---|---|---|-|-----------------------------------------------------------------------------|
| locationId | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/locations?filter={locationId=9xblOq15RyzLj2koBWwc} |
| testId | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/locations?filter={testId=m3P10zF5up6HJqp8JeVp} |
| runType | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={runType=CI/CD} |
| completed | ✓ | ✓ | - | - | - | - | /api/synthetics/settings/tests?filter={completed=true} |
post:
operationId: createSyntheticTestCICD
requestBody:
content:
application/json:
example:
- testId: K331gkuCbelN1HI5y1wl
customization:
locations:
- 8mCxCPOI7oEmMSee4ec0
- lalQTzq7MwO6hZ6c6xDd
configuration:
timeout: 100ms
retries: 2
customProperties:
Team: DevTeam
Purpose: Demo
schema:
type: array
items:
$ref: '#/components/schemas/SyntheticTestCICD'
required: true
responses:
'200':
content:
application/json:
example:
- testResultId: f078443e-468c-4e35-b614-979ad9200fe4
testId: K331gkuCbelN1HI5y1wl
locationId: 8mCxCPOI7oEmMSee4ec0
- testResultId: 2cba4974-c73a-45ea-ad63-77c44c19bd36
testId: K331gkuCbelN1HI5y1wl
locationId: lalQTzq7MwO6hZ6c6xDd
schema:
type: array
items:
$ref: '#/components/schemas/SyntheticTestCICDResponse'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticTests
summary: Create a Synthetic test CI/CD
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
description: |-
This API endpoint creates an OnDemand Execution of Synthetic Tests to be used on CI/CD Integrations.
## Mandatory Parameters:
- **testId** The id of the test to be executed upon request.
- **customization.locations** The ids of the locations where the test needs to be executed.
-
## Optional Parameters:
- **customization.configuration** An configuration object with properties timeout, retries and retryInterval, used to override the test defined configuration.
- **customization.customProperties** An object with name/value pairs to provide additional information to this Synthetic Test CI/CD execution.
-
## Sample script and payload:
- A sample script to create a Synthetic Test CI/CD
```
curl -k -v -X POST \
https:///api/synthetics/settings/tests/ci-cd \
-H 'authorization: apiToken ' \
-H 'content-type: application/json' \
-d '[
{
"testId":"pdVai8bqov1ta9Wq0Fnw",
"customization":{
"locations":[
"DNCYizgM3cju2Xnap24Z"
],
"configuration":{
"timeout":"5s",
"retryInterval":1,
"retries":2
},
"customProperties" : {
"type":"Build"
}
}
}
]'
```
'/api/synthetics/settings/tests/ci-cd/{testResultId}':
get:
operationId: getSyntheticTestCICD
parameters:
- description: The synthetic test result id of the CI/CD to be retrieved
example: 0cf1324b-3022-4116-ae03-6c868daa43d4
in: path
name: testResultId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
testResultId: 0cf1324b-3022-4116-ae03-6c868daa43d4
locationId: r4zo4DjbORqEAES2c8xj
locationLabel: SynTest
testId: 5ufGW4jOnZNhViGmIbnx
testLabel: test
testType: HTTPAction
runType: OnDemand
completed: false
customization:
configuration:
retries: 2
timeout: 5s
schema:
$ref: '#/components/schemas/SyntheticTestCICDItem'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticTests
summary: A Synthetic test CI/CD.
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
'/api/synthetics/settings/tests/{id}':
delete:
description: |-
API request to delete a Synthetic Test.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: deleteSyntheticTest
parameters:
- description: Id of the synthetic test to be deleted
example: ic25Vt1T5dgKzi0K7812
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Successful - no content to return.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticTests
summary: Delete a Synthetic test
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
get:
description: |-
API request to retrieve a Synthetic Test with matching id.
For more information on Synthetic Settings please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Synthetic+Monitoring#synthetic-settings.
operationId: getSyntheticTest
parameters:
- description: Id of the synthetic test to be retrieved
example: EFNRoPd39SgZBkULeQIf
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: EFNRoPd39SgZBkULeQIf
tenantId: saas_instana_test
label: APITest_getApplication
active: true
testFrequency: 15
playbackMode: Simultaneous
applicationId: UOGJ3jBOSMOgN2EBCoOghw
applicationLabel: test_cb
locations:
- 18WyhtDb5jpVOsjlNdeV
locationLabels:
- Syne2e
locationDisplayLabels:
- E2ETest PoP
configuration:
syntheticType: HTTPScript
markSyntheticCall: true
retries: 2
retryInterval: 1
timeout: 10m
script: |-
const got = require('got');
const assert = require('assert');
// Define the API request configuration
const apiConfig = {
method: 'GET',
url: 'https://test-instana.pink.instana.rocks/api/application-monitoring/settings/application/btg-B701Rx6o9QNXUS4TVw',
headers: {
'Authorization': $secure.apiToken
}
};
// Function to perform the API test
const performAPITest = async () => {
const response = await got(apiConfig);
console.info("Get one application API - GET, response code: " + response.statusCode);
assert.ok(response.statusCode == 200, "GET status is " + response.statusCode + ", it should be 200");
const jsonBody = JSON.parse(response.body);
assert.ok(jsonBody.id != "", "Application ID is not in the payload");
assert.ok(jsonBody.label != "", "Application label is not in the payload");
assert.ok(jsonBody.tagFilterExpression != null, "tagFilterExpression is not in the payload");
};
// Initial test
performAPITest();
scriptType: Basic
customProperties:
test: '123'
createdAt: 1696625954210
modifiedAt: 1701216106812
modifiedBy: Internal
rbacTags:
- id: test
displayName: test
schema:
$ref: '#/components/schemas/SyntheticTest'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canViewSyntheticTests
summary: A Synthetic test
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
patch:
operationId: patchSyntheticTest
parameters:
- description: Id of the synthetic test to be patched
example: ic25Vt1T5dgKzi0K7812
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
active: true
configuration:
scripts: null
script: //script goes here
rbacTags:
- id: test
displayName: test
schema:
$ref: '#/components/schemas/SyntheticTest'
required: true
responses:
'200':
content:
application/json: {}
description: OK
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticTests
summary: Patch a Synthetic test
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
description: |-
This API endpoint updates selected attributes of a Synthetic Test.
- All attributes listed as in the schema, including the required ones, are optional for this call.
- Synthetic Test configuration properties set to null will be removed from the configuration.
- Patching an array attribute will replace the entire array with the full set of values provided.
- For major updates to the Synthetic Test or to remove main attributes, see "Update a Synthetic test"
## Sample script and payload:
- A sample script to patch a simple HTTP Script Test to enable it and to switch from multi-scripts to single script.
```
curl -k -v -X PATCH \
https:///api/synthetics/settings/tests/Ilfs9bW97KkTxuyGtxBF \
-H 'authorization: apiToken ' \
-H 'content-type: application/json' \
-d '{
"active" : true,
"configuration" : {
"scripts" : null,
"script" : "//script goes here"
}
}'
```
put:
operationId: updateSyntheticTest
parameters:
- description: Id of the synthetic test to be updated
example: ic25Vt1T5dgKzi0K7812
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
id: ic25Vt1T5dgKzi0K7812
label: Test_SimplePing
description: this is to test a simple ping API
applicationId: applicationId001
active: true
testFrequency: 1
playbackMode: Simultaneous
locations:
- saas_instana_test
configuration:
syntheticType: HTTPAction
url: 'https://httpbin.org/post'
operation: POST
headers:
Content-Type: text/plain
body: Hello World!
validationString: Hello World!
customProperties:
Team: DevTeam
Purpose: Demo
rbacTags:
- id: JxrVZtRtTUGug71K1oYMcw
displayName: tests
schema:
$ref: '#/components/schemas/SyntheticTest'
required: true
responses:
'200':
content:
application/json: {}
description: OK
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- canConfigureSyntheticTests
summary: Update a Synthetic test
tags:
- Synthetic Settings
x-ibm-ahub-byok: true
/api/website-monitoring/analyze/beacon-groups:
post:
description: |-
API request to get grouped website monitoring beacon metrics.
For more information on Website Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Websites+&+Mobile+Apps.
operationId: getBeaconGroups
parameters:
- in: query
name: fillTimeSeries
schema:
type: boolean
requestBody:
content:
application/json:
example:
metrics:
- metric: beaconCount
aggregation: SUM
granularity: 60
group:
groupByTag: beacon.page.name
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: beacon.website.name
operator: EQUALS
entity: NOT_APPLICABLE
value: robot-shop
- type: TAG_FILTER
name: beacon.location.path
operator: EQUALS
entity: NOT_APPLICABLE
value: /checkout
timeFrame:
to: null
windowSize: 3600000
type: PAGELOAD
schema:
$ref: '#/components/schemas/GetWebsiteBeaconGroups'
responses:
'200':
content:
application/json:
example:
items:
- name: Check Out
earliestTimestamp: 1707019058453
cursor:
'@class': .IngestionOffsetCursor
ingestionTime: 1707022593250
offset: 1
metrics:
beaconCount.sum.60:
- - 1707019020000
- 1
- - 1707019080000
- 3
canLoadMore: false
totalHits: 1
totalRepresentedItemCount: 1
totalRetainedItemCount: 1
adjustedTimeframe:
windowSize: 3600000
to: 1707022620000
schema:
$ref: '#/components/schemas/WebsiteBeaconGroupsResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get grouped beacon metrics
tags:
- Website Analyze
x-ibm-ahub-byok: true
/api/website-monitoring/analyze/beacons:
post:
description: |-
API request to get all website monitoring beacons with matching type.
For more information on Website Analyze please access the https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Websites+&+Mobile+Apps.
operationId: getBeacons
requestBody:
content:
application/json:
example:
tagFilterExpression:
type: TAG_FILTER
name: beacon.website.name
operator: EQUALS
entity: NOT_APPLICABLE
value: robot-shop
timeFrame:
to: null
windowSize: 3600000
type: PAGELOAD
schema:
$ref: '#/components/schemas/GetWebsiteBeacons'
responses:
'200':
content:
application/json:
example:
items:
- beacon:
websiteId: Example website ID
websiteLabel: robot-shop
page: Products
phase: pageLoad
timestamp: 1707023459363
clockSkew: 356
duration: 240
batchSize: 1
accurateTimingsAvailable: true
deprecations: []
pageLoadId: 0cea1830450a460
sessionId: 899e5d28e5c6402
beaconId: 00cea1830450a460
backendTraceId: ef968a97dd967268
type: pageLoad
customEventName: ''
meta:
stage: production
status: silver
locationUrl: 'http://robotshop.instana.com/products'
locationOrigin: 'http://robotshop.instana.com'
locationPath: /products
errorCount: 0
errorMessage: ''
errorId: ''
errorType: ''
parsedStackTrace: []
componentStack: ''
userIp: 195.140.0.0
userId: Example User Id
userName: Example User Name
userEmail: example@example.com
userLanguages:
- en-GB
deviceType: ''
connectionType: 4g
browserName: Chrome
browserVersion: '73'
osName: Windows
osVersion: '10'
windowHidden: false
windowWidth: 1149
windowHeight: 1008
latitude: 51.5088
longitude: -0.093
accuracyRadius: 20
city: London
subdivision: England
subdivisionCode: ENG
country: United Kingdom
countryCode: GB
continent: Europe
continentCode: EU
httpCallUrl: ''
httpCallOrigin: ''
httpCallPath: ''
httpCallMethod: ''
httpCallStatus: -1
httpCallCorrelationAttempted: false
httpCallAsynchronous: false
initiator: html
resourceType: document
cacheInteraction: ''
encodedBodySize: -1
decodedBodySize: -1
transferSize: -1
unloadTime: 0
redirectTime: 0
appCacheTime: 0
dnsTime: 0
tcpTime: 0
sslTime: 0
requestTime: 42
responseTime: 1
processingTime: -1
onLoadTime: 1
backendTime: 51
frontendTime: -1
domTime: -1
childrenTime: 5
firstPaintTime: 331
firstContentfulPaintTime: 331
largestContentfulPaintTime: 331
firstInputDelayTime: -1
cumulativeLayoutShift: -1
cspBlockedUri: ''
cspEffectiveDirective: ''
cspOriginalPolicy: ''
cspDisposition: ''
cspSample: ''
cspSourceFile: ''
cspLineNumber: -1
cspColumnNumber: -1
snippetVersion: '2'
httpCallHeaders: {}
cursor:
'@class': .IngestionOffsetCursor
ingestionTime: 1707023459959
offset: 1
schema:
$ref: '#/components/schemas/WebsiteBeaconResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get all beacons
tags:
- Website Analyze
x-ibm-ahub-byok: true
/api/website-monitoring/catalog:
get:
operationId: getWebsiteTagCatalog
parameters:
- description: beaconType
example: pageLoad
in: query
name: beaconType
required: true
schema:
type: string
- description: useCase
example: GROUPING
in: query
name: useCase
required: true
schema:
type: string
enum:
- GROUPING
- FILTERING
- SERVICE_MAPPING
- SMART_ALERTS
- SMART_ALERTS_LOGS
- SMART_ALERTS_ADAPTIVE_BASELINE
- SMART_ALERTS_CUSTOM_PAYLOAD
- SLI_MANAGEMENT
- APPLICATION_CONFIG
- APPLICATION_CONFIG_BLUEPRINT
- MAINTENANCE_WINDOWS
- BIZOPS_CUSTOM_DASHBOARDS_FILTERING
responses:
'200':
content:
application/json:
example:
tagTree:
- label: Commonly Used
description: null
icon: null
children:
- label: Website Label
description: Name of the website as configured within the Instana user interface.
tagName: beacon.website.name
type: TAG
tags:
- name: beacon.type
label: Beacon Type
type: STRING
description: null
canApplyToSource: false
canApplyToDestination: false
idTag: false
schema:
$ref: '#/components/schemas/TagCatalog'
description: OK
'400':
description: When the combination of beaconType and useCase is unsupported/unknown.
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get website tag catalog
tags:
- Website Catalog
x-ibm-ahub-byok: true
/api/website-monitoring/catalog/metrics:
get:
operationId: getWebsiteCatalogMetrics
responses:
'200':
content:
application/json:
example:
- metricId: beaconDuration
label: Beacon duration
formatter: LATENCY
description: The recorded duration for a beacon.
aggregations:
- P25
- MEAN
- MAX
- P95
- P90
- SUM
- P98
- P99
- MIN
- P75
- P50
defaultAggregation: null
beaconTypes:
- pageLoad
- resourceLoad
- custom
- httpRequest
pathToValueInBeacon:
- duration
tagName: beacon.duration
- metricId: pageLoads
label: Page loads
formatter: NUMBER
description: How often a full page load occurred. This typically requires retrieval of an HTML document from a server (unless cached) and then the full onLoad cycle.
aggregations:
- SUM
defaultAggregation: null
beaconTypes:
- pageLoad
pathToValueInBeacon: null
tagName: null
schema:
type: array
items:
$ref: '#/components/schemas/WebsiteMonitoringMetricDescription'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Metric catalog
tags:
- Website Catalog
x-ibm-ahub-byok: true
description: |
This endpoint retrieves all available metric definitions for website monitoring.
/api/website-monitoring/catalog/tags:
get:
operationId: getWebsiteCatalogTags
responses:
'200':
content:
application/json:
example:
- name: beacon.sessionId
type: STRING
category: WEBSITE
canApplyToSource: false
canApplyToDestination: false
sourceValueAvailableFrom: 0
schema:
type: array
items:
$ref: '#/components/schemas/Tag'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get all existing website tags
tags:
- Website Catalog
x-ibm-ahub-byok: true
description: "This endpoint retrieves all available tags for your monitored system.\n\nThese tags can be used to group metric results.\n```\n\"group\": {\n \"groupbyTag\": \"beacon.page.name\"\n}\n```\n\nThese tags can be used to filter metric results.\n```\n\"tagFilters\": [{\n\t\"name\": \"beacon.website.name\",\n\t\"operator\": \"EQUALS\",\n\t\"value\": \"example\"\n}]\n```\n"
/api/website-monitoring/config:
get:
description: API request to get all configured websites details.
operationId: getWebsites
responses:
'200':
content:
application/json:
example:
- id: K3bP-bmCRkyimNai9vvq8o
name: example_website
appName: example_website
rbacTags:
- id: test
displayName: test
schema:
type: array
items:
$ref: '#/components/schemas/Website'
description: OK
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get configured websites
tags:
- Website Configuration
x-ibm-ahub-byok: true
post:
description: API request to add new website.
operationId: createWebsite
parameters:
- in: query
name: name
schema:
type: string
requestBody:
content:
application/json:
example:
- id: test
displayName: test
schema:
type: array
items:
type: object
properties:
displayName:
type: string
description: Name of team tag
id:
type: string
description: ID of team tag
responses:
'200':
content:
application/json:
example:
id: K3bP-bmCRkyimNai9vvq8o
name: example_website
appName: example_website
schema:
$ref: '#/components/schemas/Website'
description: Website successfully configured
'400':
description: Missing name query parameter or name already used for a configured website
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Configure new website
tags:
- Website Configuration
x-ibm-ahub-byok: true
'/api/website-monitoring/config/{websiteId}':
delete:
description: API request to delete website.
operationId: deleteWebsite
parameters:
- description: Website ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: websiteId
required: true
schema:
type: string
responses:
'204':
description: Website successfully removed
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Remove website
tags:
- Website Configuration
x-ibm-ahub-byok: true
get:
description: API request to get configured website details for specified websiteId
operationId: getWebsite
parameters:
- description: Website ID
example: 1ELrNt-eQ9SlK4D_EgLMiA
in: path
name: websiteId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example: |2
{
"id": "1ELrNt-eQ9SlK4D_EgLMiA",
"name": "example_website",
"appName": "example_website"
"rbacTags: [{
"id": "test",
"displayName": "test"
}]
}
schema:
$ref: '#/components/schemas/Website'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get configured website
tags:
- Website Configuration
x-ibm-ahub-byok: true
put:
description: API request to rename website.
operationId: renameWebsite
parameters:
- description: Website ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: websiteId
required: true
schema:
type: string
- in: query
name: name
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: K3bP-bmCRkyimNai9vvq8o
name: example_website
appName: example_website
schema:
$ref: '#/components/schemas/Website'
description: Website successfully renamed
'400':
description: Missing name query parameter or name already used for a configured website
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Rename website
tags:
- Website Configuration
x-ibm-ahub-byok: true
'/api/website-monitoring/config/{websiteId}/geo-location':
get:
description: API request to get geo-location configuration of a website specified by its websiteId
operationId: getWebsiteGeoLocationConfiguration
parameters:
- description: Website ID
example: 1ELrNt-eQ9SlK4D_EgLMiA
in: path
name: websiteId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
geoDetailRemoval: NO_REMOVAL
geoMappingRules: []
schema:
$ref: '#/components/schemas/GeoLocationConfiguration'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Get geo location configuration for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
put:
description: API request to update geo location configuration for website.
operationId: updateWebsiteGeoLocationConfiguration
parameters:
- description: Website ID
example: iiLxP1zaTuCS7fyk9m4W0W
in: path
name: websiteId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GeoLocationConfiguration'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GeoLocationConfiguration'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Update geo location configuration for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
'/api/website-monitoring/config/{websiteId}/geo-mapping-rules':
get:
description: API request to get custom geo mapping rules for website.
operationId: getWebsiteGeoMappingRules
parameters:
- description: Website ID
example: iiLxP1zaTuCS7fyk9m4W0W
in: path
name: websiteId
required: true
schema:
type: string
responses:
'200':
content:
text/csv: {}
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Get custom geo mapping rules for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
put:
description: API request to set custom geo mapping rules for website.
operationId: setWebsiteGeoMappingRules
parameters:
- description: Website ID
example: K3bP-bmCRkyimNai9vvq8o
in: path
name: websiteId
required: true
schema:
type: string
requestBody:
content:
text/csv:
schema:
type: string
responses:
'200':
content:
text/csv: {}
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'415':
description: Unsupported Media Type.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Set custom geo mapping rules for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
'/api/website-monitoring/config/{websiteId}/ip-masking':
get:
description: API request to get IP masking configuration of a website specified by its websiteId
operationId: getWebsiteIpMaskingConfiguration
parameters:
- description: Website ID
example: 1ELrNt-eQ9SlK4D_EgLMiA
in: path
name: websiteId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
ipMasking: DEFAULT
schema:
$ref: '#/components/schemas/IpMaskingConfiguration'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Get IP masking configuration for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
put:
description: API request to update IP masking configuration for website.
operationId: updateWebsiteIpMaskingConfiguration
parameters:
- description: Website ID
example: iiLxP1zaTuCS7fyk9m4W0W
in: path
name: websiteId
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IpMaskingConfiguration'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/IpMaskingConfiguration'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Update IP masking configuration for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
'/api/website-monitoring/config/{websiteId}/sourcemap-upload':
get:
description: API request to get all sourcemap upload configurations for website.
operationId: getWebsiteSourceMapUploadConfigurations
parameters:
- description: Website ID
example: 1ELrNt-eQ9SlK4D_EgLMiA
in: path
name: websiteId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
configs:
- id: 67f84a0b117c99e
description: websiteSourcemapUploadConfig1
createdAt: 1747978171.2347815
modifiedAt: 1747978171.2347815
metadata: []
schema:
$ref: '#/components/schemas/SourceMapUploadConfigs'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
summary: Get all sourcemap upload configurations for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
post:
description: API request to add sourcemap upload configuration for website.
operationId: postWebsiteSourceMapUploadConfig
parameters:
- description: Website ID
example: 1ELrNt-eQ9SlK4D_EgLMiA
in: path
name: websiteId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
description: websiteSourcemapConfig2
schema:
type: object
description: Source map upload configuration
properties:
description:
type: string
description: Name of configuration
responses:
'200':
content:
application/json:
example:
id: 5894971d635094e7
description: websiteSourcemapConfig2
createdAt: 1747980062.6018546
modifiedAt: 1747980062.6018546
metadata: []
schema:
$ref: '#/components/schemas/SourceMapUploadConfig'
description: Website sourcemap upload configuration added successfully
'400':
description: Missing description or description already used for a configuration.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'422':
description: Unprocessable request - missing/invalid data.
'500':
description: Internal server error.
summary: Add new sourcemap upload configuration for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
'/api/website-monitoring/config/{websiteId}/sourcemap-upload/{sourceMapConfigId}':
delete:
description: API request to delete sourcemap upload configuration for website.
operationId: deleteWebsiteSourceMapUploadConfiguration
parameters:
- description: Website ID
example: 1ELrNt-eQ9SlK4D_EgLMiA
in: path
name: websiteId
required: true
schema:
type: string
- description: Source Map Config ID
example: 97e0ad312110d3ad
in: path
name: sourceMapConfigId
required: true
schema:
type: string
responses:
'204':
description: Sourcemap configuration successfully deleted or sourcemap not found
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
summary: Delete sourcemap upload configuration for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
get:
description: API request to get sourcemap upload configuration for website.
operationId: getWebsiteSourceMapUploadConfiguration
parameters:
- in: path
name: websiteId
required: true
schema:
type: string
- description: Source Map Config ID
example: 97e0ad312110d3ad
in: path
name: sourceMapConfigId
required: true
schema:
type: string
responses:
'200':
content:
application/json:
example:
id: 67f84a0b117c99e
description: websiteSourcemapUploadConfig1
createdAt: 1747978171.2347815
modifiedAt: 1747978171.2347815
metadata: []
schema:
$ref: '#/components/schemas/SourceMapUploadConfig'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'500':
description: Internal server error.
summary: Get sourcemap upload configurations for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
'/api/website-monitoring/config/{websiteId}/sourcemap-upload/{sourceMapConfigId}/clear':
put:
description: API request to clear source map files for sourcemap upload configuration.
operationId: clearSourceMapUploadConfiguration
parameters:
- description: Website ID
example: UhzF-fWORlyVLHDlvutYYQ
in: path
name: websiteId
required: true
schema:
type: string
- description: Source Map Config ID
example: 97e0ad312110d3ad
in: path
name: sourceMapConfigId
required: true
schema:
type: string
responses:
'204':
description: Source map files in the source map upload configuration successfully cleared
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Clear source map files for sourcemap upload configuration
tags:
- Website Configuration
x-ibm-ahub-byok: true
'/api/website-monitoring/config/{websiteId}/sourcemap-upload/{sourceMapConfigId}/form':
put:
description: API request to upload sourcemap file for website.
operationId: uploadSourceMapFile
parameters:
- description: Website ID
example: UhzF-fWORlyVLHDlvutYYQ
in: path
name: websiteId
required: true
schema:
type: string
- description: Source Map Config ID
example: 97e0ad312110d3ad
in: path
name: sourceMapConfigId
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
fileFormat:
type: string
sourceMap:
type: string
format: binary
description: Local Source Map file path
url:
type: string
description: URL of the website
required:
- sourceMap
- url
responses:
'200':
content:
application/json:
example:
id: 67f84a0b117c99e
description: websiteSourcemapUploadConfig1
createdAt: 1747978171.2347815
modifiedAt: 1747978171.2347815
metadata: []
schema:
$ref: '#/components/schemas/SourceMapUploadConfig'
description: OK
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'404':
description: Resource not found.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Upload sourcemap file for website
tags:
- Website Configuration
x-ibm-ahub-byok: true
'/api/website-monitoring/config/{websiteId}/teams':
put:
description: API request to update teams of a website.
operationId: updateWebsiteTeams
parameters:
- in: path
name: websiteId
required: true
schema:
type: string
requestBody:
content:
application/json:
example:
- id: test
displayName: test
schema:
type: array
items:
$ref: '#/components/schemas/ApiTag'
responses:
'200':
content:
application/json:
example:
- id: test
displayName: test
schema:
type: array
items:
$ref: '#/components/schemas/ApiTag'
description: Website successfully configured
'400':
description: Bad request.
'401':
description: Unauthorized access - requires user authentication.
'403':
description: Insufficient permissions.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- CanConfigureEumApplications
summary: Update teams assigned to the website
tags:
- Website Configuration
x-ibm-ahub-byok: true
/api/website-monitoring/metrics:
post:
deprecated: true
description: API request to get website monitoring beacon metrics.
operationId: getBeaconMetrics
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GetWebsiteMetrics'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebsiteMetricResult'
description: OK
security:
- ApiKeyAuth:
- Default
summary: Get beacon metrics
tags:
- Website Metrics
x-ibm-ahub-byok: true
'/api/website-monitoring/page-load{id}{timestamp}':
get:
description: API request to get website monitoring beacons for a page load.
operationId: getPageLoad
parameters:
- description: Identifier of the page load to be retrieved
example: 63f5b070e8d9a597
in: path
name: id
required: true
schema:
type: string
style: matrix
- description: Timestamp of the page load to be retrieved
example: 1707012285674
in: path
name: timestamp
required: true
schema:
type: integer
format: int64
style: matrix
responses:
'200':
content:
application/json:
example:
- websiteId: example website id
websiteLabel: robot-shop
page: Home
phase: pageLoad
timestamp: 1707012285674
clockSkew: 447
duration: 120
batchSize: 1
accurateTimingsAvailable: true
deprecations: []
pageLoadId: 974bca2eb13047c
sessionId: e995a184bb4b4e0
beaconId: 0974bca2eb13047c
backendTraceId: c92e3ec967ef173f
type: pageLoad
customEventName: ''
meta:
stage: production
status: bronze
locationUrl: 'http://robotshop.instana.com/'
locationOrigin: 'http://robotshop.instana.com'
locationPath: /
errorCount: 0
errorMessage: ''
errorId: ''
errorType: ''
parsedStackTrace: []
componentStack: ''
userIp: 87.191.0.0
userId: example user id
userName: example user name
userEmail: example@example.com
userLanguages:
- de-DE
deviceType: ''
connectionType: 4g
browserName: Firefox
browserVersion: '63'
osName: Ubuntu
osVersion: '18'
windowHidden: false
windowWidth: 1149
windowHeight: 1008
latitude: 50.8021
longitude: 8.7857
accuracyRadius: 200
city: Weidenhausen
subdivision: Hesse
subdivisionCode: HE
country: Germany
countryCode: DE
continent: Europe
continentCode: EU
httpCallUrl: ''
httpCallOrigin: ''
httpCallPath: ''
httpCallMethod: ''
httpCallStatus: 400
httpCallCorrelationAttempted: false
httpCallAsynchronous: false
initiator: html
resourceType: document
cacheInteraction: ''
encodedBodySize: -1
decodedBodySize: -1
transferSize: -1
unloadTime: 0
redirectTime: 0
appCacheTime: 0
dnsTime: 0
tcpTime: 0
sslTime: 0
requestTime: 42
responseTime: 1
processingTime: -1
onLoadTime: 1
backendTime: 51
frontendTime: -1
domTime: -1
childrenTime: 5
firstPaintTime: 331
firstContentfulPaintTime: 331
largestContentfulPaintTime: 331
firstInputDelayTime: -1
cumulativeLayoutShift: -1
cspBlockedUri: ''
cspEffectiveDirective: ''
cspOriginalPolicy: ''
cspDisposition: ''
cspSample: ''
cspSourceFile: ''
cspLineNumber: -1
cspColumnNumber: -1
snippetVersion: '2'
httpCallHeaders: {}
parentBeaconId: ''
interactionNextPaint: -1
schema:
type: array
items:
$ref: '#/components/schemas/WebsiteMonitoringBeacon'
description: OK
'400':
description: Bad request.
'404':
description: Resource not found.
security:
- ApiKeyAuth:
- Default
summary: Get page load
tags:
- Website Metrics
x-ibm-ahub-byok: true
/api/website-monitoring/v2/metrics:
post:
description: API request to get website monitoring beacon metrics.
operationId: getBeaconMetricsV2
requestBody:
content:
application/json:
example:
metrics:
- metric: beaconCount
aggregation: SUM
tagFilterExpression:
type: EXPRESSION
logicalOperator: AND
elements:
- type: TAG_FILTER
name: beacon.website.name
operator: EQUALS
entity: NOT_APPLICABLE
value: robot-shop
- type: TAG_FILTER
name: beacon.location.path
operator: EQUALS
entity: NOT_APPLICABLE
value: /
timeFrame:
to: null
windowSize: 3600000
type: PAGELOAD
schema:
$ref: '#/components/schemas/GetWebsiteMetricsV2'
responses:
'200':
content:
application/json:
example:
metrics:
beaconCount.sum:
- - 1706856180000
- 100
adjustedTimeFrame:
windowSize: 3540000
to: 1706856180000
schema:
$ref: '#/components/schemas/MetricAPIResult'
description: OK
'401':
description: Unauthorized access - requires user authentication.
'404':
description: Resource not found.
'422':
description: Unprocessable request - missing/invalid data.
'500':
description: Internal server error.
security:
- ApiKeyAuth:
- Default
summary: Get beacon metrics
tags:
- Website Metrics
x-ibm-ahub-byok: true
components:
schemas:
AbstractIntegration:
type: object
discriminator:
mapping:
BIDIRECTIONAL_MS_TEAMS: '#/components/schemas/BidirectionalMsTeamsAppIntegration'
BIDIRECTIONAL_SLACK: '#/components/schemas/BidirectionalSlackAppIntegration'
EMAIL: '#/components/schemas/EmailIntegration'
GOOGLE_CHAT: '#/components/schemas/GoogleChatIntegration'
OFFICE_365: '#/components/schemas/Office365Integration'
OPS_GENIE: '#/components/schemas/OpsgenieIntegration'
PAGER_DUTY: '#/components/schemas/PagerdutyIntegration'
PROMETHEUS_WEBHOOK: '#/components/schemas/PrometheusWebhookIntegration'
SALESFORCE: '#/components/schemas/SalesforceIntegration'
SERVICE_NOW_APPLICATION: '#/components/schemas/ServiceNowEnhancedIntegration'
SERVICE_NOW_WEBHOOK: '#/components/schemas/ServiceNowIntegration'
SLACK: '#/components/schemas/SlackIntegration'
SPLUNK: '#/components/schemas/SplunkIntegration'
VICTOR_OPS: '#/components/schemas/VictorOpsIntegration'
WATSON_AIOPS_WEBHOOK: '#/components/schemas/WatsonAIOpsWebhookIntegration'
WEBEX_TEAMS_WEBHOOK: '#/components/schemas/WebexTeamsWebhookIntegration'
WEB_HOOK: '#/components/schemas/WebhookIntegration'
Z_CHATOPS: '#/components/schemas/ZChatOpsIntegration'
propertyName: kind
properties:
id:
type: string
description: Unique ID of the returned Alert Channel
kind:
type: string
description: The type of the Alerting Channel.
name:
type: string
description: The name of the Alerting Channel.
required:
- id
- kind
- name
AbstractRule:
type: object
discriminator:
mapping:
entity_count: '#/components/schemas/EntityCountRule'
entity_count_verification: '#/components/schemas/EntityCountVerificationRule'
entity_verification: '#/components/schemas/EntityVerificationRule'
host_availability: '#/components/schemas/HostAvailabilityRule'
system: '#/components/schemas/SystemRule'
threshold: '#/components/schemas/ThresholdRule'
propertyName: ruleType
properties:
ruleType:
type: string
severity:
type: integer
format: int32
required:
- ruleType
AccessLogEntry:
type: object
properties:
action:
type: string
enum:
- GRANT_TEMP_ACCESS
- FIRST_LOGIN
- LOGIN
- ACCESS
- FAILED_LOGIN
- LOGOUT
- CREATE_API_TOKEN_BY_POLICY
- IDP_MAPPING
email:
type: string
fullName:
type: string
message:
type: string
meta:
type: object
additionalProperties:
type: object
tenantId:
type: string
tenantUnitId:
type: string
timestamp:
type: integer
format: int64
minimum: 1118583367265
required:
- action
- email
- fullName
- tenantId
AccessLogResponse:
type: object
properties:
entries:
type: array
items:
$ref: '#/components/schemas/AccessLogEntry'
total:
type: integer
format: int64
AccessRule:
type: object
properties:
accessType:
type: string
description: |+
Specifies the type of access permitted.
`READ`: Only viewing Application Perspective is allowed.
`READ_WRITE`: Both viewing and modifying Application Perspective are permitted.
enum:
- READ
- READ_WRITE
relatedId:
type: string
description: |
An identifier that connects the access rule to a specific entity.
For example, if the `relationType` is `USER`, the corresponding `relatedId` would be a user id.
**Note**: when `relationType` is `GLOBAL`, `relatedId` is `null`.
maxLength: 64
minLength: 0
relationType:
type: string
description: |
Defines the type of relationship or subject to which the access rule applies.
`USER`: Access is granted to an individual user.
`API_TOKEN`: Access is granted to a specific API token.
`ROLE`: Access is granted based on a user role, applying to any user with that role.
`TEAM`: Access is granted to a team, likely applying to all team members.
`GLOBAL`: Access is granted to every user or service.
enum:
- USER
- API_TOKEN
- ROLE
- TEAM
- GLOBAL
required:
- accessType
- relationType
Action:
type: object
description: 'Automation action definition. When this is used in policy creation request, only `id` should be specified.'
properties:
createdAt:
type: string
format: date-time
description: Action created time.
description:
type: string
description: Action description.
maxLength: 512
minLength: 0
fields:
type: array
description: List of fields that describe an action.
items:
$ref: '#/components/schemas/Field'
id:
type: string
description: Action identifier.
maxLength: 128
minLength: 1
inputParameters:
type: array
description: List of inputs to the action.
items:
$ref: '#/components/schemas/Parameter'
metadata:
$ref: '#/components/schemas/MetaData'
modifiedAt:
type: string
format: date-time
description: Action modified time.
name:
type: string
description: Action name.
maxLength: 128
minLength: 1
tags:
type: array
description: List of tags added to the action.
items:
type: string
description: List of tags added to the action.
type:
type: string
description: 'Action type can be one of the following values: SCRIPT, HTTP, ANSIBLE, EXTERNAL, GITHUB, GITLAB, JIRA, MANUAL, DOC_LINK'
enum:
- SCRIPT
- HTTP
- ANSIBLE
- EXTERNAL
- GITHUB
- GITLAB
- JIRA
- MANUAL
- DOC_LINK
maxLength: 128
minLength: 0
required:
- createdAt
- id
- modifiedAt
- name
- type
ActionConfiguration:
type: object
description: List of action configurations.
properties:
action:
$ref: '#/components/schemas/Action'
agentId:
type: string
description: Identifier of the agent host on which to run the action.
inputParameterValues:
type: array
description: List of action input parameters.
items:
$ref: '#/components/schemas/ParameterValue'
required:
- action
ActionInstance:
type: object
properties:
actionDescription:
type: string
description: Action description of the action to run.
actionId:
type: string
description: Action identifier of the action to run.
actionInstanceId:
type: string
description: Action run identifier.
readOnly: true
actionName:
type: string
description: Action name of the action to run.
actionSnapshot:
type: string
description: Snapshot of the action definition.
readOnly: true
actorId:
type: string
description: 'User identifier, API token or the policy identifier that started the action run.'
actorName:
type: string
description: 'Name of the user, API token or the policy that started the action run.'
actorType:
type: string
description: Type of Actor. Valid values are listed in the enum definition.
enum:
- ACTOR_UNKNOWN
- USER
- APITOKEN
- POLICY
createdDate:
type: integer
format: int64
description: Action run created timestamp. The timestamp at which the action run got submitted.
endDate:
type: integer
format: int64
description: Action run end timestamp. The timestamp at which the action run ended on the agent host.
errorMessage:
type: string
description: 'Error message, if any, of action run on the agent host.'
eventEntityType:
type: string
description: Event entity type set in the event that triggered this action run.
eventId:
type: string
description: Event identifier of the event that triggered this action run.
eventSpecificationId:
type: string
description: Event specification identifier of the event that triggered this action run.
externalSourceType:
type: string
description: If the action type is external this field contains the name of the external source.
hostSnapshotId:
type: string
description: Host snapshot identifier of the agent on which the action ran.
inputParameters:
type: array
description: List of input parameters to this action run.
items:
$ref: '#/components/schemas/ActionInstanceParameter'
metadata:
type: array
description: List of metadata parameters set to this action run by sensors.
items:
$ref: '#/components/schemas/ActionInstanceMetadataEntry'
output:
type: string
description: Action run output.
policyId:
type: string
description: Identifier of the policy that triggered this action run.
problemText:
type: string
description: Event problem text of the event that triggered this action run.
returnCode:
type: integer
format: int32
description: Return code of action run on the agent host.
startDate:
type: integer
format: int64
description: Action run start timestamp. The timestamp at which the action run started on the agent host.
status:
type: string
description: Action run status. Valid values are listed in the enum definition.
enum:
- STATUS_UNKNOWN
- SUBMITTED
- IN_PROGRESS
- SUCCESS
- FAILED
- READY
- TIMEOUT
targetSnapshotId:
type: string
description: Action target entity identifier set in the event that triggered this action run. This is the identifier of the entity on which an incident or issue was raised.
type:
type: string
description: Action type. Valid values are listed in the enum definition.
enum:
- SCRIPT
- HTTP
- ANSIBLE
- EXTERNAL
- GITHUB
- GITLAB
- JIRA
- MANUAL
- DOC_LINK
required:
- actionId
- actionName
- type
ActionInstanceMetadataEntry:
type: object
description: List of metadata parameters set to this action run by sensors.
properties:
name:
type: string
description: Metadata name.
value:
type: string
description: Metadata value.
required:
- name
ActionInstanceParameter:
type: object
description: List of input parameters to this action run.
properties:
displayName:
type: string
description: Parameter display name.
name:
type: string
description: Parameter name.
type:
type: string
description: 'Parameter type. Valid values are `static`, `dynamic` or `vault`'
value:
type: string
description: Parameter value.
required:
- displayName
- name
ActionInstanceRequest:
type: object
properties:
actionId:
type: string
description: Action identifier of the action to run.
async:
type: string
description: '`"true"` if the action should be run in asynchronous mode `"false"` otherwise. Default is `"true"`.'
eventId:
type: string
description: Event identifier (incident or issue) associated with the policy.
hostId:
type: string
description: Agent host identifier on which to run the action.
inputParameters:
type: array
description: Action run input parameters.
items:
$ref: '#/components/schemas/ActionInstanceRequestParameters'
policyId:
type: string
description: Policy identifier that associates the action trigger (incident or issue) to the action to run.
timeout:
type: string
description: Action run time out. Default is `30 seconds`.
required:
- actionId
- hostId
ActionInstanceRequestParameters:
type: object
description: Action run input parameters.
properties:
name:
type: string
description: Name of the input parameter.
type:
type: string
description: 'Type of the input parameter. Valid values are `static`, `dynamic` or `vault`. Default is `static`.'
value:
type: string
description: Value of the input parameter
required:
- name
- value
ActionMatch:
type: object
properties:
action:
$ref: '#/components/schemas/Action'
aiEngine:
type: string
enum:
- POLICY
- EVENT_SIMILARITY
- NLP
- SUCCESS_RATE
- TURBONOMIC
- WATSONX
confidence:
type: string
policy:
$ref: '#/components/schemas/Policy'
score:
type: number
format: double
required:
- aiEngine
- confidence
- score
ActionSearchSpace:
type: object
properties:
description:
type: string
description: The description of an incident or issue.
entityType:
type: string
description: The entity type associated with the incident or issue.
eventId:
type: string
description: The event identifier associated with the incident or issue.
name:
type: string
description: The name of an incident or issue.
required:
- name
AdaptiveBaseline:
type: object
allOf:
- $ref: '#/components/schemas/Threshold'
- type: object
properties:
deviationFactor:
type: number
format: double
exclusiveMaximum: false
exclusiveMinimum: false
maximum: 16
minimum: 0.5
required:
- operator
AdaptiveThresholdRule:
type: object
allOf:
- $ref: '#/components/schemas/ThresholdConfigRule'
- type: object
properties:
deviationFactor:
type: number
format: double
exclusiveMaximum: false
exclusiveMinimum: false
maximum: 16
minimum: 0.5
Addition:
type: object
allOf:
- $ref: '#/components/schemas/ArithmeticOperation'
required:
- left
- right
AdjustedTimeframe:
type: object
description: |
Time frame provided in API request is slightly adjusted in response for faster API response.
For example, In request payload, if timeframe is 08:03 - 14:03, which is a 6 hour window size. It is adjusted to 08:05 - 14:00
Another example, In request payload, if timeframe is 08:20 - 08:20 (next day) which is a 24h window size. It is adjusted to 08:30 - 08:00 (next day)
properties:
to:
type: integer
format: int64
description: 'end of timeframe expressed as the Unix epoch time in milliseconds. Eg: `ISO 8601` standard time `2024-06-27T05:05:55.615Z` can be represented as `1719464755615` in Unix epoch time in milliseconds.'
windowSize:
type: integer
format: int64
description: windowSize in milliseconds
minimum: 0
required:
- to
AgentConfigurationUpdate:
type: object
properties:
remoteBranch:
type: string
maxLength: 256
minLength: 0
remoteName:
type: string
maxLength: 256
minLength: 0
remoteUri:
type: string
maxLength: 65536
minLength: 0
AlertingConfiguration:
type: object
properties:
alertName:
type: string
description: Name of the Alert Configuration.
maxLength: 256
minLength: 0
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/StaticStringField'
maxItems: 20
minItems: 0
eventFilteringConfiguration:
$ref: '#/components/schemas/EventFilteringConfiguration'
id:
type: string
description: ID of the Alert Configuration.
maxLength: 64
minLength: 0
includeEntityNameInLegacyAlerts:
type: boolean
description: To include the entity name in a legacy alert based on built-in/custom events.
integrationIds:
type: array
description: List of Alert Channel IDs added in this Alert Configuration.
items:
type: string
description: List of Alert Channel IDs added in this Alert Configuration.
maxItems: 1024
minItems: 0
uniqueItems: true
muteUntil:
type: integer
format: int64
description: 'Timer dictating how long the Alert Configuration will stay muted. A value of `0` means the Alert Configuration is currently enabled. Otherwise, the Alert Configuration is currently disabled (muted).'
required:
- alertName
- customPayloadFields
- eventFilteringConfiguration
- id
- integrationIds
AlertingConfigurationWithLastUpdated:
type: object
properties:
alertName:
type: string
description: Name of the Alert Configuration.
maxLength: 256
minLength: 0
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/StaticStringField'
maxItems: 20
minItems: 0
eventFilteringConfiguration:
$ref: '#/components/schemas/EventFilteringConfiguration'
id:
type: string
description: ID of the Alert Configuration.
maxLength: 64
minLength: 0
includeEntityNameInLegacyAlerts:
type: boolean
description: To include the entity name in a legacy alert based on built-in/custom events.
integrationIds:
type: array
description: List of Alert Channel IDs added in this Alert Configuration.
items:
type: string
description: List of Alert Channel IDs added in this Alert Configuration.
maxItems: 1024
minItems: 0
uniqueItems: true
lastUpdated:
type: integer
format: int64
description: Unix timestamp representing the time the configuration was last updated.
minimum: 1
muteUntil:
type: integer
format: int64
description: 'Timer dictating how long the Alert Configuration will stay muted. A value of `0` means the Alert Configuration is currently enabled. Otherwise, the Alert Configuration is currently disabled (muted).'
required:
- alertName
- customPayloadFields
- eventFilteringConfiguration
- id
- integrationIds
AlertingTimeWindow:
type: object
properties:
duration:
type: integer
format: int32
durationType:
type: string
enum:
- millisecond
- second
- minute
- hour
- day
- week
- month
durationUnit:
type: string
enum:
- millisecond
- second
- minute
- hour
- day
- week
- month
writeOnly: true
required:
- duration
- durationType
ApdexConfiguration:
type: object
properties:
apdexEntity:
$ref: '#/components/schemas/ApdexEntity'
apdexName:
type: string
description: Name of the Apdex Configuration
maxLength: 256
minLength: 0
createdAt:
type: integer
format: int64
description: Created Date of Apdex Configuration
id:
type: string
description: Apdex Configuration ID
maxLength: 64
minLength: 0
required:
- apdexEntity
- apdexName
- id
ApdexConfigurationInput:
type: object
properties:
apdexEntity:
$ref: '#/components/schemas/ApdexEntity'
apdexName:
type: string
description: Name of the Apdex Configuration
maxLength: 256
minLength: 0
required:
- apdexEntity
- apdexName
ApdexEntity:
type: object
description: Entity which holds the information of Apdex Configuration
discriminator:
mapping:
application: '#/components/schemas/ApplicationApdexEntity'
website: '#/components/schemas/WebsiteApdexEntity'
propertyName: apdexType
properties:
apdexType:
type: string
entityId:
type: string
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
threshold:
type: integer
format: int32
minimum: 1
required:
- apdexType
- entityId
- tagFilterExpression
ApdexReport:
type: object
properties:
apdexId:
type: string
description: Apdex Configuration ID
apdexScore:
type: array
description: Apdex Score in different timestamps from starting to the ending point
items:
type: array
description: Apdex Score in different timestamps from starting to the ending point
items:
type: number
description: Apdex Score in different timestamps from starting to the ending point
from:
type: integer
format: int64
description: 'Starting point for the data retrieval, specified as 13 digit Unix Timestamp milliseconds'
to:
type: integer
format: int64
description: 'Ending point for the data retrieval, specified as 13 digit Unix Timestamp milliseconds'
ApiCreateGroup:
type: object
properties:
members:
type: array
items:
$ref: '#/components/schemas/ApiMember'
uniqueItems: true
name:
type: string
permissionSet:
$ref: '#/components/schemas/ApiPermissionSet'
required:
- members
- name
- permissionSet
ApiCreateRole:
type: object
properties:
members:
type: array
items:
$ref: '#/components/schemas/ApiMember'
uniqueItems: true
name:
type: string
permissions:
type: array
items:
type: string
maxItems: 1024
minItems: 0
uniqueItems: true
required:
- name
ApiGroup:
type: object
properties:
id:
type: string
maxLength: 64
minLength: 0
members:
type: array
items:
$ref: '#/components/schemas/ApiMember'
uniqueItems: true
name:
type: string
permissionSet:
$ref: '#/components/schemas/ApiPermissionSet'
required:
- id
- members
- name
- permissionSet
ApiMember:
type: object
properties:
email:
type: string
name:
type: string
userId:
type: string
required:
- userId
ApiPermissionSet:
type: object
properties:
actionFilter:
$ref: '#/components/schemas/ScopeBinding'
applicationIds:
type: array
items:
$ref: '#/components/schemas/ScopeBinding'
maxItems: 1024
minItems: 0
uniqueItems: true
businessPerspectiveIds:
type: array
items:
$ref: '#/components/schemas/ScopeBinding'
maxItems: 1024
minItems: 0
uniqueItems: true
infraDfqFilter:
$ref: '#/components/schemas/ScopeBinding'
kubernetesClusterUUIDs:
type: array
items:
$ref: '#/components/schemas/ScopeBinding'
maxItems: 1024
minItems: 0
uniqueItems: true
kubernetesNamespaceUIDs:
type: array
items:
$ref: '#/components/schemas/ScopeBinding'
maxItems: 1024
minItems: 0
uniqueItems: true
mobileAppIds:
type: array
items:
$ref: '#/components/schemas/ScopeBinding'
maxItems: 1024
minItems: 0
uniqueItems: true
permissions:
type: array
items:
type: string
maxItems: 1024
minItems: 0
uniqueItems: true
restrictedApplicationFilter:
$ref: '#/components/schemas/ApiRestrictedApplicationFilter'
sloIds:
type: array
items:
$ref: '#/components/schemas/ScopeBinding'
maxItems: 1024
minItems: 0
uniqueItems: true
syntheticCredentialKeys:
type: array
items:
$ref: '#/components/schemas/ScopeBinding'
maxItems: 1024
minItems: 0
uniqueItems: true
syntheticTestIds:
type: array
items:
$ref: '#/components/schemas/ScopeBinding'
maxItems: 1024
minItems: 0
uniqueItems: true
websiteIds:
type: array
items:
$ref: '#/components/schemas/ScopeBinding'
maxItems: 1024
minItems: 0
uniqueItems: true
required:
- applicationIds
- businessPerspectiveIds
- infraDfqFilter
- kubernetesClusterUUIDs
- kubernetesNamespaceUIDs
- mobileAppIds
- permissions
- sloIds
- syntheticCredentialKeys
- syntheticTestIds
- websiteIds
ApiRestrictedApplicationFilter:
type: object
properties:
label:
type: string
restrictingApplicationId:
type: string
scope:
type: string
enum:
- INCLUDE_NO_DOWNSTREAM
- INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING
- INCLUDE_ALL_DOWNSTREAM
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
ApiRole:
type: object
properties:
id:
type: string
members:
type: array
items:
$ref: '#/components/schemas/ApiMember'
uniqueItems: true
name:
type: string
permissions:
type: array
items:
type: string
uniqueItems: true
required:
- id
- members
- name
- permissions
ApiTag:
type: object
properties:
displayName:
type: string
maxLength: 256
minLength: 0
id:
type: string
maxLength: 64
minLength: 0
required:
- displayName
- id
ApiTeam:
type: object
properties:
id:
type: string
maxLength: 64
minLength: 0
info:
$ref: '#/components/schemas/ApiTeamInfo'
members:
type: array
items:
$ref: '#/components/schemas/ApiTeamMember'
uniqueItems: true
scope:
$ref: '#/components/schemas/ApiTeamScope'
tag:
type: string
maxLength: 256
minLength: 0
required:
- tag
ApiTeamInfo:
type: object
properties:
description:
type: string
maxLength: 2048
minLength: 0
ApiTeamMember:
type: object
properties:
email:
type: string
name:
type: string
roles:
type: array
items:
$ref: '#/components/schemas/ApiTeamRole'
uniqueItems: true
userId:
type: string
required:
- userId
ApiTeamRole:
type: object
properties:
roleId:
type: string
roleName:
type: string
viaIdP:
type: boolean
required:
- roleId
ApiTeamScope:
type: object
properties:
accessPermissions:
type: array
items:
type: string
enum:
- LIMITED_APPLICATIONS_SCOPE
- LIMITED_WEBSITES_SCOPE
- LIMITED_KUBERNETES_SCOPE
- LIMITED_MOBILE_APPS_SCOPE
- LIMITED_INFRASTRUCTURE_SCOPE
- LIMITED_SYNTHETICS_SCOPE
- LIMITED_BIZOPS_SCOPE
- LIMITED_GEN_AI_SCOPE
- LIMITED_AUTOMATION_SCOPE
- LIMITED_LOGS_SCOPE
- LIMITED_ALERT_CHANNELS_SCOPE
- LIMITED_VSPHERE_SCOPE
- LIMITED_PHMC_SCOPE
- LIMITED_POWERVC_SCOPE
- LIMITED_ZHMC_SCOPE
- LIMITED_PCF_SCOPE
- LIMITED_OPENSTACK_SCOPE
- LIMITED_SAP_SCOPE
- LIMITED_NUTANIX_SCOPE
- LIMITED_XENSERVER_SCOPE
- LIMITED_WINDOWS_HYPERVISOR_SCOPE
- LIMITED_LINUX_KVM_HYPERVISOR_SCOPE
- LIMITED_AI_GATEWAY_SCOPE
- LIMITED_SERVICE_LEVEL_SCOPE
uniqueItems: true
actionFilter:
type: string
applications:
type: array
items:
type: string
uniqueItems: true
businessPerspectives:
type: array
items:
type: string
uniqueItems: true
infraDfqFilter:
type: string
kubernetesClusters:
type: array
items:
type: string
uniqueItems: true
kubernetesNamespaces:
type: array
items:
type: string
uniqueItems: true
logFilter:
type: string
mobileApps:
type: array
items:
type: string
uniqueItems: true
restrictedApplicationFilter:
$ref: '#/components/schemas/ApiRestrictedApplicationFilter'
sloIds:
type: array
items:
type: string
uniqueItems: true
syntheticCredentials:
type: array
items:
type: string
uniqueItems: true
syntheticTests:
type: array
items:
type: string
uniqueItems: true
tagIds:
type: array
items:
type: string
uniqueItems: true
websites:
type: array
items:
type: string
uniqueItems: true
ApiToken:
type: object
properties:
accessGrantingToken:
type: string
canConfigureAgentRunMode:
type: boolean
canConfigureAgents:
type: boolean
canConfigureAiAgents:
type: boolean
canConfigureApdex:
type: boolean
canConfigureApiTokens:
type: boolean
canConfigureApplicationSmartAlerts:
type: boolean
canConfigureApplications:
type: boolean
canConfigureAuthenticationMethods:
type: boolean
canConfigureAutomationActions:
type: boolean
canConfigureAutomationPolicies:
type: boolean
canConfigureBizops:
type: boolean
canConfigureDatabaseManagement:
type: boolean
canConfigureEumApplications:
type: boolean
canConfigureEventsAndAlerts:
type: boolean
canConfigureGlobalAlertPayload:
type: boolean
canConfigureGlobalApplicationSmartAlerts:
type: boolean
canConfigureGlobalInfraSmartAlerts:
type: boolean
canConfigureGlobalLogSmartAlerts:
type: boolean
canConfigureGlobalSyntheticSmartAlerts:
type: boolean
canConfigureIntegrations:
type: boolean
canConfigureLLM:
type: boolean
canConfigureLogManagement:
type: boolean
canConfigureLogRetentionPeriod:
type: boolean
canConfigureMaintenanceWindows:
type: boolean
canConfigureMobileAppMonitoring:
type: boolean
canConfigureMobileAppSmartAlerts:
type: boolean
canConfigurePersonalApiTokens:
type: boolean
canConfigureReleases:
type: boolean
canConfigureServiceLevelCorrectionWindows:
type: boolean
canConfigureServiceLevelSmartAlerts:
type: boolean
canConfigureServiceLevels:
type: boolean
canConfigureServiceMapping:
type: boolean
canConfigureSessionSettings:
type: boolean
canConfigureSubtraces:
type: boolean
canConfigureSyntheticCredentials:
type: boolean
canConfigureSyntheticLocations:
type: boolean
canConfigureSyntheticTests:
type: boolean
canConfigureTeams:
type: boolean
canConfigureUsers:
type: boolean
canConfigureWebsiteSmartAlerts:
type: boolean
canCreateHeapDump:
type: boolean
canCreatePublicCustomDashboards:
type: boolean
canCreateThreadDump:
type: boolean
canDeleteAutomationActionHistory:
type: boolean
canDeleteLogs:
type: boolean
canEditAllAccessibleCustomDashboards:
type: boolean
canInstallNewAgents:
type: boolean
canInvokeAlertChannel:
type: boolean
canManuallyCloseIssue:
type: boolean
canRunAutomationActions:
type: boolean
canUseSyntheticCredentials:
type: boolean
canViewAccountAndBillingInformation:
type: boolean
canViewAuditLog:
type: boolean
canViewBizAlerts:
type: boolean
canViewBusinessActivities:
type: boolean
canViewBusinessProcessDetails:
type: boolean
canViewBusinessProcesses:
type: boolean
canViewLogVolume:
type: boolean
canViewLogs:
type: boolean
canViewSyntheticLocations:
type: boolean
canViewSyntheticTestResults:
type: boolean
canViewSyntheticTests:
type: boolean
canViewTraceDetails:
type: boolean
createdBy:
type: string
createdOn:
type: integer
format: int64
expiresOn:
type: integer
format: int64
id:
type: string
internalId:
type: string
lastUsedOn:
type: integer
format: int64
limitedAiGatewayScope:
type: boolean
limitedAlertChannelsScope:
type: boolean
limitedApplicationsScope:
type: boolean
limitedAutomationScope:
type: boolean
limitedBizOpsScope:
type: boolean
limitedGenAIScope:
type: boolean
limitedInfrastructureScope:
type: boolean
limitedKubernetesScope:
type: boolean
limitedLinuxKVMHypervisorScope:
type: boolean
limitedLogsScope:
type: boolean
limitedMobileAppsScope:
type: boolean
limitedNutanixScope:
type: boolean
limitedOpenstackScope:
type: boolean
limitedPcfScope:
type: boolean
limitedPhmcScope:
type: boolean
limitedPvcScope:
type: boolean
limitedServiceLevelScope:
type: boolean
limitedSyntheticsScope:
type: boolean
limitedVsphereScope:
type: boolean
limitedWebsitesScope:
type: boolean
limitedWindowsHypervisorScope:
type: boolean
limitedXenServerScope:
type: boolean
limitedZhmcScope:
type: boolean
name:
type: string
required:
- accessGrantingToken
- internalId
- name
AppDataMetricConfiguration:
type: object
properties:
aggregation:
type: string
description: 'Set aggregation that can be applied to a series of values. Eg: `MEAN`.'
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
granularity:
type: integer
format: int32
description: 'If the granularity is set you will get data points with the specified granularity in seconds. Default: `1000` milliseconds'
metric:
type: string
description: 'Set a particular metric, eg: `latency`.'
numeratorTagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
required:
- aggregation
- metric
Application:
type: object
description: Returns a list of Application Perspectives.
properties:
boundaryScope:
type: string
description: 'Here, `ALL` Application Boundary Scope is considered.'
entityType:
type: string
description: 'Since, this is an Application Perspective, it will be of type `APPLICATION`.'
enum:
- APPLICATION
- SERVICE
- ENDPOINT
id:
type: string
description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.'
label:
type: string
description: 'Name of the Application Perspective. Eg: `app1`.'
required:
- boundaryScope
- id
- label
ApplicationAlertConfig:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
applicationId:
type: string
writeOnly: true
applications:
type: object
additionalProperties:
$ref: '#/components/schemas/ApplicationNode'
description: 'Selection of applications, services, and endpoints that this Smart Alert configuration is associated with. This selection is connected to the defined `tagFilterExpression` by the logical `AND` operator.'
boundaryScope:
type: string
description: Determines the source of the application alert configuration. An `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers to both consumer and internally made calls.
enum:
- ALL
- INBOUND
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the application alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
evaluationType:
type: string
description: 'Determines whether calls of the aggregated metrics are grouped by the application, the service, or the endpoint. This also determines whether the resulting events are categorized as an issue on the respective entity of that group.'
enum:
- PER_AP
- PER_AP_SERVICE
- PER_AP_ENDPOINT
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
includeInternal:
type: boolean
description: Flag to include Internal Calls. These calls are work done inside a service and correspond to intermediate spans in custom tracing.
includeSynthetic:
type: boolean
description: 'Flag to include Synthetic Calls. These calls have a synthetic endpoint as their destination, such as calls to health-check endpoints. '
name:
type: string
description: Name of the application alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
rule:
$ref: '#/components/schemas/ApplicationAlertRule'
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdApplicationAlertRule'
maxItems: 1
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
maximum: 10
minimum: 5
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/TagFilter'
uniqueItems: true
writeOnly: true
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/ApplicationTimeThreshold'
triggering:
type: boolean
description: Optional flag to indicate whether an Incident is also triggered or not.
required:
- alertChannelIds
- applications
- boundaryScope
- customPayloadFields
- description
- evaluationType
- granularity
- name
- tagFilterExpression
- timeThreshold
ApplicationAlertConfigWithMetadata:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
applicationId:
type: string
deprecated: true
description: ID of the application that this Smart Alert configuration is applied to.
maxLength: 64
minLength: 0
applications:
type: object
additionalProperties:
$ref: '#/components/schemas/ApplicationNode'
description: 'Selection of applications, services, and endpoints that this Smart Alert configuration is associated with. This selection is connected to the defined `tagFilterExpression` by the logical `AND` operator.'
boundaryScope:
type: string
description: Determines the source of the application alert configuration. An `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers to both consumer and internally made calls.
enum:
- ALL
- INBOUND
created:
type: integer
format: int64
description: Unix timestamp representing the creation time of this revision.
minimum: 1
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the application alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
enabled:
type: boolean
description: Flag to indicate whether or not the configuration is enabled.
evaluationType:
type: string
description: 'Determines whether calls of the aggregated metrics are grouped by the application, the service, or the endpoint. This also determines whether the resulting events are categorized as an issue on the respective entity of that group.'
enum:
- PER_AP
- PER_AP_SERVICE
- PER_AP_ENDPOINT
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
id:
type: string
description: 'ID of this Application App Alert Config. '
maxLength: 64
minLength: 0
includeInternal:
type: boolean
description: Flag to include Internal Calls. These calls are work done inside a service and correspond to intermediate spans in custom tracing.
includeSynthetic:
type: boolean
description: 'Flag to include Synthetic Calls. These calls have a synthetic endpoint as their destination, such as calls to health-check endpoints. '
initialCreated:
type: integer
format: int64
description: Unix timestamp representing the time of the initial revision.
minimum: 1
name:
type: string
description: Name of the application alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
readOnly:
type: boolean
description: Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config.
rule:
$ref: '#/components/schemas/ApplicationAlertRule'
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdApplicationAlertRule'
maxItems: 1
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
maximum: 10
minimum: 5
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/TagFilter'
uniqueItems: true
writeOnly: true
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/ApplicationTimeThreshold'
triggering:
type: boolean
description: Optional flag to indicate whether an Incident is also triggered or not.
required:
- alertChannelIds
- applications
- boundaryScope
- customPayloadFields
- description
- evaluationType
- granularity
- id
- name
- tagFilterExpression
- timeThreshold
ApplicationAlertRule:
type: object
discriminator:
mapping:
errorRate: '#/components/schemas/ErrorsApplicationAlertRule'
errors: '#/components/schemas/ErrorsApplicationAlertRule'
logs: '#/components/schemas/LogsApplicationAlertRule'
slowness: '#/components/schemas/SlownessApplicationAlertRule'
statusCode: '#/components/schemas/StatusCodeApplicationAlertRule'
throughput: '#/components/schemas/ThroughputApplicationAlertRule'
propertyName: alertType
properties:
aggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
alertType:
type: string
metricName:
type: string
required:
- alertType
- metricName
ApplicationApdexEntity:
type: object
allOf:
- $ref: '#/components/schemas/ApdexEntity'
- type: object
properties:
boundaryScope:
type: string
description: 'Application Boundary Scope, it could be ALL or INBOUND'
enum:
- ALL
- INBOUND
entityId:
type: string
description: Application ID
includeInternal:
type: boolean
description: A boolean value indicating whether the SLO takes Internal calls into account
includeSynthetic:
type: boolean
description: A boolean value indicating whether the SLO takes Synthetic calls into account
threshold:
type: integer
format: int32
description: Value of the Apdex Threshold
minimum: 1
required:
- boundaryScope
- entityId
- tagFilterExpression
ApplicationConfig:
type: object
properties:
accessRules:
type: array
description: |
Defines permissions and access relationships.
items:
$ref: '#/components/schemas/AccessRule'
maxItems: 64
minItems: 1
boundaryScope:
type: string
description: |
**INBOUND**: Inbound calls are calls initiated from outside the application and where the destination service is part of the selected application perspective.
**ALL**: Results and metrics for not only calls at the application perspective boundary, but also those occurring within the application perspective.
**DEFAULT**: Default value, for Application Perspectives created before the introduction of `ALL` and `INBOUND`.
At present, whenever new Application Perspectives are created, there are only 2 options to select: `ALL` or `INBOUND`.
It is recommended to use either `ALL` or `INBOUND` as `DEFAULT` is deprecated. `DEFAULT` is treated as `INBOUND`.
enum:
- ALL
- INBOUND
- DEFAULT
id:
type: string
description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.'
maxLength: 128
minLength: 1
label:
type: string
description: 'Name of the Application Perspective. Eg: `app1`.'
maxLength: 128
minLength: 1
matchSpecification:
$ref: '#/components/schemas/MatchExpressionDTO'
scope:
type: string
description: |
**INCLUDE_NO_DOWNSTREAM** : Only the selected services from the filters are included (call this the core set).
This is useful when you treat the services as opaque.
An example would be the services that represent 3rd party APIs.
**INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING** : Include the core set of services from the filters and then expand this core set to include the database and messaging services that the core set directly interacts with.
This is useful if you are want to monitor a set of services and their direct dependencies.
For example, a development team responsible for several micro-services.
**INCLUDE_ALL_DOWNSTREAM** : It effortlessly and automatically includes all the services that form the entire end-to-end dependency chain of the core set of services.
This is useful if the AP will be used for troubleshooting.
enum:
- INCLUDE_NO_DOWNSTREAM
- INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING
- INCLUDE_ALL_DOWNSTREAM
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
required:
- accessRules
- boundaryScope
- id
- label
- scope
ApplicationEventResult:
type: object
allOf:
- $ref: '#/components/schemas/EventResult'
- type: object
properties:
applicationId:
type: string
description: ID of the application.
ApplicationItem:
type: object
properties:
application:
$ref: '#/components/schemas/Application'
metrics:
type: object
additionalProperties:
type: array
items:
type: array
items:
type: number
required:
- application
- metrics
ApplicationMetricResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
items:
type: array
items:
$ref: '#/components/schemas/ApplicationItem'
page:
type: integer
format: int32
description: Page Number
minimum: 1
pageSize:
type: integer
format: int32
minimum: 1
totalHits:
type: integer
format: int64
minimum: 0
required:
- items
ApplicationNode:
type: object
description: 'Selection of applications, services, and endpoints that this Smart Alert configuration is associated with. This selection is connected to the defined `tagFilterExpression` by the logical `AND` operator.'
properties:
applicationId:
type: string
maxLength: 64
minLength: 0
inclusive:
type: boolean
services:
type: object
additionalProperties:
$ref: '#/components/schemas/ServiceNode'
required:
- applicationId
- services
ApplicationResult:
type: object
properties:
items:
type: array
description: Returns a list of Application Perspectives.
items:
$ref: '#/components/schemas/Application'
page:
type: integer
format: int32
description: Page number you want to retrieve in a request / retrieved in a response.
pageSize:
type: integer
format: int32
description: number of elements retrieved in a single query.
totalHits:
type: integer
format: int32
description: 'The number of results returned. For eg: If `items` has 5 elements, `totalhits` will be 5'
ApplicationScope:
type: object
description: The list of application perspectives where the release can be viewed.
properties:
name:
type: string
description: 'Name of the Application Perspective. Eg: `app1`.'
maxLength: 256
minLength: 0
required:
- name
ApplicationScopeWithMetadata:
type: object
description: The list of application perspectives where the release can be viewed.
properties:
id:
type: string
description: 'Unique ID of the Application Perspective. Eg: `Av62RoIKQv-A3n6DbMQh9g`.'
name:
type: string
description: 'Name of the Application Perspective. Eg: `app1`.'
required:
- id
ApplicationSliEntity:
type: object
allOf:
- $ref: '#/components/schemas/SliEntity'
- type: object
properties:
applicationId:
type: string
description: Specifies the ID of the Application that is to be monitored by the SLO
boundaryScope:
type: string
description: 'Defines the boundary of calls to be monitored, specifying whether to track all calls or only inbound calls'
enum:
- ALL
- INBOUND
endpointId:
type: string
description: Specifies the ID of the Endpoint to be monitored by the application SLO
serviceId:
type: string
description: Identifies the service to be monitored by the application SLO
required:
- boundaryScope
ApplicationSloEntity:
type: object
allOf:
- $ref: '#/components/schemas/SloEntity'
- type: object
properties:
applicationId:
type: string
description: The ID of the Application
boundaryScope:
type: string
description: The Boundary Scope of the Application
enum:
- ALL
- INBOUND
endpointId:
type: string
description: The Endpoint ID of the Application
includeInternal:
type: boolean
description: A boolean value indicating whether the SLO takes Internal calls into account
includeSynthetic:
type: boolean
description: A boolean value indicating whether the SLO takes Synthetic calls into account
serviceId:
type: string
description: The Service ID of the Application
required:
- applicationId
- boundaryScope
ApplicationTimeThreshold:
type: object
description: The type of threshold to define the criteria when the event and alert triggers and resolves.
discriminator:
mapping:
requestImpact: '#/components/schemas/TraceImpactApplicationTimeThreshold'
violationsInPeriod: '#/components/schemas/ViolationsInPeriodApplicationTimeThreshold'
violationsInSequence: '#/components/schemas/ViolationsInSequenceApplicationTimeThreshold'
propertyName: type
properties:
timeWindow:
type: integer
format: int64
type:
type: string
required:
- type
ArithmeticConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/InfraMetricConfiguration'
- type: object
properties:
operation:
$ref: '#/components/schemas/ArithmeticOperation'
ArithmeticOperand:
type: object
oneOf:
- $ref: '#/components/schemas/SingleValue'
- $ref: '#/components/schemas/MetricQuery'
- $ref: '#/components/schemas/NestedOperation'
ArithmeticOperation:
type: object
discriminator:
mapping:
ADDITION: '#/components/schemas/Addition'
DIVISION: '#/components/schemas/Division'
MULTIPLICATION: '#/components/schemas/Multiplication'
SUBTRACTION: '#/components/schemas/Subtraction'
propertyName: operator
properties:
left:
$ref: '#/components/schemas/ArithmeticOperand'
operator:
type: string
right:
$ref: '#/components/schemas/ArithmeticOperand'
required:
- left
- operator
- right
AuditLogEntry:
type: object
properties:
action:
type: string
actor:
$ref: '#/components/schemas/LogEntryActor'
id:
type: string
message:
type: string
meta:
type: object
additionalProperties:
type: object
timestamp:
type: integer
format: int64
required:
- action
- actor
- id
- message
- meta
AuditLogUiResponse:
type: object
properties:
entries:
type: array
items:
$ref: '#/components/schemas/AuditLogEntry'
total:
type: integer
format: int64
Author:
type: object
properties:
id:
type: string
type:
type: string
enum:
- API
- USER
- INSTANA
- UNKNOWN
AvailabilityBlueprintIndicator:
type: object
allOf:
- $ref: '#/components/schemas/ServiceLevelIndicator'
- type: object
properties:
threshold:
type: number
format: double
description: Threshold Value for the Blueprint
exclusiveMinimum: false
minimum: 0
required:
- type
AvailabilitySliEntity:
type: object
allOf:
- $ref: '#/components/schemas/SliEntity'
- type: object
properties:
applicationId:
type: string
description: Specifies the ID of the Application that is to be monitored by the SLO
badEventFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
badEventFilters:
type: array
description: Defines the logical expression to filter data and classify events as Bad Events
items:
$ref: '#/components/schemas/TagFilter'
maxItems: 32
minItems: 1
boundaryScope:
type: string
description: 'Defines the boundary of calls to be monitored, specifying whether to track all calls or only inbound calls'
enum:
- ALL
- INBOUND
endpointId:
type: string
description: Specifies the ID of the Endpoint to be monitored by the availability-based application SLO
goodEventFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
goodEventFilters:
type: array
description: Defines the logical expression to filter data and classify events as Good Events
items:
$ref: '#/components/schemas/TagFilter'
maxItems: 32
minItems: 1
includeInternal:
type: boolean
description: Boolean value indicating whether internal calls should be included in the monitoring process
includeSynthetic:
type: boolean
description: Boolean value indicating whether synthetic calls should be included in the monitoring process
serviceId:
type: string
description: Identifies the service to be monitored by the availability-based application SLO
required:
- boundaryScope
AvailableMetrics:
type: object
properties:
metrics:
type: array
items:
$ref: '#/components/schemas/MetricMetadata'
uniqueItems: true
AvailablePlugins:
type: object
properties:
plugins:
type: array
items:
type: string
uniqueItems: true
BackendTraceReference:
type: object
properties:
traceId:
type: string
description: 'The corresponding trace ID. For eg: `07eaf10c1d051234` or `000000000000000007eaf10c1d051234`'
required:
- traceId
BidirectionalMsTeamsAppIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
apiTokenId:
type: string
channelId:
type: string
channelName:
type: string
instanaUrl:
type: string
serviceUrl:
type: string
teamId:
type: string
teamName:
type: string
tenantId:
type: string
tenantName:
type: string
required:
- apiTokenId
- channelId
- channelName
- id
- instanaUrl
- kind
- name
- teamId
- tenantId
BidirectionalSlackAppIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
appId:
type: string
channelId:
type: string
channelName:
type: string
emojiRendering:
type: boolean
teamId:
type: string
teamName:
type: string
required:
- id
- kind
- name
BinaryOperatorDTO:
type: object
allOf:
- $ref: '#/components/schemas/MatchExpressionDTO'
- type: object
properties:
conjunction:
type: string
enum:
- AND
- OR
left:
$ref: '#/components/schemas/MatchExpressionDTO'
right:
$ref: '#/components/schemas/MatchExpressionDTO'
required:
- conjunction
- left
- right
BrowserScriptConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfiguration'
- type: object
properties:
browser:
type: string
enum:
- chrome
- firefox
fileName:
type: string
recordVideo:
type: boolean
script:
type: string
maxLength: 1048576
minLength: 0
scriptType:
type: string
enum:
- Basic
- Jest
scripts:
$ref: '#/components/schemas/MultipleScriptsConfiguration'
required:
- markSyntheticCall
- syntheticType
BrowserScriptConfigurationUpdate:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate'
- type: object
properties:
browser:
type: string
enum:
- chrome
- firefox
fileName:
type: string
recordVideo:
type: boolean
script:
type: string
scriptType:
type: string
enum:
- Basic
- Jest
scripts:
$ref: '#/components/schemas/MultipleScriptsConfiguration'
BuiltInEventSpecification:
type: object
properties:
description:
type: string
description: Description of Built-in Event Specification
maxLength: 2048
minLength: 0
enabled:
type: boolean
description: Flag to show whether the Built-in Event Specification is enabled
hidden:
type: boolean
description: Flag to show whether the Built-in Event Specification is hidden
hyperParams:
type: array
description: List of hyper parameters of the Built-in Event Specification
items:
$ref: '#/components/schemas/HyperParam'
maxItems: 32
minItems: 0
id:
type: string
description: ID of Built-in Event Specification
maxLength: 2048
minLength: 0
name:
type: string
description: Name of Built-in Event Specification
maxLength: 256
minLength: 0
ruleInputs:
type: array
description: List of input rules of the Built-in Event Specification
items:
$ref: '#/components/schemas/RuleInput'
maxItems: 32
minItems: 0
severity:
type: integer
format: int32
description: Severity level of Built-in Event Specification
shortPluginId:
type: string
description: ID of short plugin of Built-in Event Specification
maxLength: 64
minLength: 0
triggering:
type: boolean
description: Flag to show whether the Built-in Event Specification is triggering
required:
- hyperParams
- id
- name
- ruleInputs
- shortPluginId
BuiltInEventSpecificationWithLastUpdated:
type: object
properties:
description:
type: string
description: Description of Built-in Event Specification
maxLength: 2048
minLength: 0
enabled:
type: boolean
description: Flag to show whether the Built-in Event Specification is enabled
hidden:
type: boolean
description: Flag to show whether the Built-in Event Specification is hidden
hyperParams:
type: array
description: List of hyper parameters of the Built-in Event Specification
items:
$ref: '#/components/schemas/HyperParam'
maxItems: 32
minItems: 0
id:
type: string
description: ID of Built-in Event Specification
maxLength: 2048
minLength: 0
lastUpdated:
type: integer
format: int64
minimum: 1
name:
type: string
description: Name of Built-in Event Specification
maxLength: 256
minLength: 0
ruleInputs:
type: array
description: List of input rules of the Built-in Event Specification
items:
$ref: '#/components/schemas/RuleInput'
maxItems: 32
minItems: 0
severity:
type: integer
format: int32
description: Severity level of Built-in Event Specification
shortPluginId:
type: string
description: ID of short plugin of Built-in Event Specification
maxLength: 64
minLength: 0
triggering:
type: boolean
description: Flag to show whether the Built-in Event Specification is triggering
required:
- hyperParams
- id
- name
- ruleInputs
- shortPluginId
BusinessActivity:
type: object
properties:
activityId:
type: string
description: Unique identifier for the activity generated by the source BPM tool
example: ApproveInvoiceTask
nullable: true
activityName:
type: string
description: 'Name of the activity '
example: Approve Invoice
nullable: true
activityStart:
type: integer
format: int64
description: Unix timestamp representing the activity's start time
example: 1680559706000
nullable: true
activityType:
type: string
description: 'Type of the activity '
example: userTask
callId:
type: string
writeOnly: true
endpointIds:
type: array
items:
type: string
processDefinitionId:
type: string
description: The identifier of the process the activity is an instance of.
example: 'invoice:2:aa2bbbcc-bb04-11ee-9d4e-0242ac110002'
nullable: true
processDefinitionName:
type: string
description: The name of the process that the activity is an instance of
example: Invoice Approval
nullable: true
rootProcessInstanceId:
type: string
description: The id of the root process for the activity
example: 486cbb3b-e633-11ee-8707-0242ac110002
nullable: true
required:
- activityType
BusinessPerspectiveConfig:
type: object
properties:
description:
type: string
maxLength: 300
minLength: 0
id:
type: string
maxLength: 128
minLength: 1
name:
type: string
maxLength: 100
minLength: 0
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
required:
- id
CallGroupsItem:
type: object
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
properties:
cursor:
$ref: '#/components/schemas/IngestionOffsetCursor'
metrics:
type: object
additionalProperties:
type: array
description: |
Grouped metric details like `errors.mean`, `calls.sum`.
It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`.
Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`.
items:
type: array
description: |
Grouped metric details like `errors.mean`, `calls.sum`.
It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`.
Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`.
items:
type: number
description: |
Grouped metric details like `errors.mean`, `calls.sum`.
It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`.
Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`.
description: |
Grouped metric details like `errors.mean`, `calls.sum`.
It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`.
Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`.
name:
type: string
description: Name of the group.
timestamp:
type: integer
format: int64
description: Earliest timestamp of the call from the group
minimum: 0
required:
- cursor
- metrics
- name
CallGroupsResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
canLoadMore:
type: boolean
description: Determine if additional data is available when a new query is made using the cursor from the last item in the `items` list.
items:
type: array
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
items:
$ref: '#/components/schemas/CallGroupsItem'
totalHits:
type: integer
format: int64
description: The total number of items that match a given filter
minimum: 0
totalRepresentedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, one row can represent multiple real items (batched call, sample multiplicity)'
minimum: 0
totalRetainedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, only a subset is retained for historic data. Each retained row can represent multiple real items due to batching.'
minimum: 0
required:
- items
CallRelation:
type: object
description: 'It shows from where the call is destined to. It includes destination service, its endpoint and list of technologies of the service.'
properties:
endpoint:
$ref: '#/components/schemas/EndpointSimple'
service:
$ref: '#/components/schemas/ServiceSimple'
technologies:
type: array
description: 'List of technologies: `Eg:["springbootApplicationContainer"]`'
items:
type: string
description: 'List of technologies: `Eg:["springbootApplicationContainer"]`'
ChangeSummary:
type: object
description: Brief summary of changes made in this config version.
properties:
author:
$ref: '#/components/schemas/Author'
changeType:
type: string
enum:
- CREATE
- UPDATE
- DELETE
- ENABLE
- DISABLE
- RESTORE
- UNKNOWN
required:
- author
- changeType
CloudfoundryPhysicalContext:
type: object
description: |
Contains physical context of Cloudfoundry. It contains the following information:
1. `application`: Application running within Cloud Foundry environment.
2. `cfInstanceIndex`: A unique ID of the container created and managed by Garden in the Cloud Foundry environment.
3. `organization`: Organization in the Cloud Foundry environment.
4. `space`: Space within an organization in Cloud Foundry environment.
properties:
application:
$ref: '#/components/schemas/SnapshotPreview'
cfInstanceIndex:
type: string
description: A unique ID of the container created and managed by Garden in the Cloud Foundry environment.
organization:
$ref: '#/components/schemas/SnapshotPreview'
space:
$ref: '#/components/schemas/SnapshotPreview'
Condition:
type: object
description: This applies to only `automatic` policy type. A Dynamic Focus Query that selects a list of entities on which the policy is run.
properties:
query:
type: string
description: Dynamic Focus Query string that selects a list of entities on which the policy is run.
ConfigVersion:
type: object
properties:
changeSummary:
$ref: '#/components/schemas/ChangeSummary'
created:
type: integer
format: int64
description: Unix timestamp representing the creation time of this revision.
minimum: 1
deleted:
type: boolean
deprecated: true
description: Flag to indicate whether or not the configuration was deleted.
enabled:
type: boolean
deprecated: true
description: Flag to indicate whether or not the configuration is enabled.
id:
type: string
description: ID of this configuration version.
maxLength: 64
minLength: 0
required:
- id
ContainerNode:
type: object
Correction:
type: object
properties:
activeCorrectionConfigIds:
type: array
description: IDs of correction configs that are active
items:
type: string
description: IDs of correction configs that are active
uniqueItems: true
correctionWindows:
type: array
description: List of Correction Windows
items:
$ref: '#/components/schemas/CorrectionWindow'
from:
type: string
format: date-time
description: Correction starting timestamp in milliseconds (13-digit)
inActiveCorrectionConfigIds:
type: array
description: IDs of correction configs that are inactive
items:
type: string
description: IDs of correction configs that are inactive
uniqueItems: true
to:
type: string
format: date-time
description: Correction ending timestamp in milliseconds (13-digit)
CorrectionConfiguration:
type: object
properties:
active:
type: boolean
description: 'If value is true, then the correction window is active'
createdDate:
type: string
format: date-time
description: Created date of SLO Correction Window Configuration
description:
type: string
description: Description of the SLO Correction Window Configuration
id:
type: string
description: SLO Correction Window Configuration ID
maxLength: 64
minLength: 0
lastUpdated:
type: string
format: date-time
description: Last updated date of SLO Correction Window Configuration
name:
type: string
description: Name of the SLO Correction Window Configuration
scheduling:
$ref: '#/components/schemas/CorrectionScheduling'
sloIds:
type: array
description: This is the list of SLO configurations related to this Correction Window.
items:
type: string
description: This is the list of SLO configurations related to this Correction Window.
maxItems: 1024
minItems: 0
uniqueItems: true
tags:
type: array
description: List of tags associated with SLO Correction Window Configuration
items:
type: string
description: List of tags associated with SLO Correction Window Configuration
uniqueItems: true
required:
- name
- scheduling
- sloIds
- tags
CorrectionScheduling:
type: object
description: Time scheduling of the SLO Correction Window configurations.
properties:
duration:
type: integer
format: int32
description: 'Duration of the correction window, defined by the count of time units.'
durationUnit:
type: string
description: 'Unit for duration. Supported values: `MINUTE`, `HOUR`, `DAY`.'
enum:
- millisecond
- second
- minute
- hour
- day
- week
- month
recurrent:
type: boolean
recurrentRule:
type: string
description: 'Recurrence Rule defines how the event recurs, using iCalendar RRULE format (e.g., `FREQ=DAILY;INTERVAL=1`).It supports fields like FREQ, INTERVAL, BYDAY, etc. Refer to RFC 5545: https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10'
maxLength: 2048
minLength: 0
startTime:
type: string
format: date-time
description: 'Start time of the correction window in milliseconds since epoch (UTC) (e.g., `1706713140000`).'
required:
- duration
- durationUnit
- startTime
CorrectionWindow:
type: object
description: List of Correction Windows
properties:
correctionConfigs:
type: array
description: IDs of the Correction configurations in the Correction Window
items:
type: string
description: IDs of the Correction configurations in the Correction Window
uniqueItems: true
from:
type: string
format: date-time
description: Correction Window starting timestamp in milliseconds (13-digit)
sloConfigs:
type: array
description: IDs of the SLO configurations in the Correction Window
items:
type: string
description: IDs of the SLO configurations in the Correction Window
uniqueItems: true
to:
type: string
format: date-time
description: Correction Window ending timestamp in milliseconds (13-digit)
CrashMobileAppAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/MobileAppAlertRule'
required:
- metricName
CursorPaginatedBusinessActivityItem:
type: object
properties:
businessActivity:
$ref: '#/components/schemas/BusinessActivity'
cursor:
$ref: '#/components/schemas/IngestionOffsetCursor'
metrics:
type: object
additionalProperties:
type: array
items:
type: array
items:
type: number
required:
- cursor
CursorPagination:
type: object
description: |
Details for controlling the pagination of the API response.
This object allows you to define the starting point for retrieving records, how many records to skip, and the size of the result set.
properties:
ingestionTime:
type: integer
format: int64
description: |
The timestamp indicating the starting point from which data was ingested.
The format of the timestamp is in Unix epoch Time.
For example, `Thursday, 5 September 2024 07:03:13 GMT` can be represented as `1725519793`.
offset:
type: integer
format: int32
description: |
The number of records to be skipped from the `ingestionTime`.
For example: when `offset` is 20 and `ingestionTime` is 1725519793, the API response should have records starting from the 21st record after the specified `ingestionTime`.
Note that if `offset` value is not empty, `ingestionTime` can't be empty.
retrievalSize:
type: integer
format: int32
description: |
The number of records to retrieve in a single request.
For example, when retrievalSize is set to 30, offset is 20, and ingestionTime is 1725519793, the API request will fetch 30 records starting from the 21st record after the specified `ingestionTime`.
Minimum value is 1 and maximum value is 200.
maximum: 200
minimum: 1
CursorPaginationInfraExploreCursor:
type: object
properties:
cursor:
$ref: '#/components/schemas/InfraExploreCursor'
retrievalSize:
type: integer
format: int32
description: number of values to return
required:
- retrievalSize
CustomBlueprintIndicator:
type: object
allOf:
- $ref: '#/components/schemas/ServiceLevelIndicator'
- type: object
properties:
badEventInfraMetric:
type: string
badEventsFilter:
$ref: '#/components/schemas/TagFilterExpressionElement'
goodEventInfraMetric:
type: string
goodEventsFilter:
$ref: '#/components/schemas/TagFilterExpressionElement'
required:
- goodEventsFilter
- type
CustomDashboard:
type: object
properties:
accessRules:
type: array
items:
$ref: '#/components/schemas/AccessRule'
maxItems: 64
minItems: 1
id:
type: string
title:
type: string
widgets:
type: array
items:
$ref: '#/components/schemas/Widget'
maxItems: 128
minItems: 0
uniqueItems: true
required:
- accessRules
- id
- title
- widgets
CustomDashboardPreview:
type: object
properties:
annotations:
type: array
items:
type: string
enum:
- SHARED
- WRITABLE
maxItems: 8
minItems: 0
uniqueItems: true
id:
type: string
maxLength: 64
minLength: 0
ownerId:
type: string
title:
type: string
required:
- annotations
- id
- ownerId
- title
CustomDashboardWithUserSpecificInformation:
type: object
properties:
accessRules:
type: array
items:
$ref: '#/components/schemas/AccessRule'
maxItems: 64
minItems: 1
id:
type: string
ownerId:
type: string
title:
type: string
widgets:
type: array
items:
$ref: '#/components/schemas/Widget'
maxItems: 128
minItems: 0
uniqueItems: true
writable:
type: boolean
required:
- accessRules
- id
- ownerId
- title
- widgets
- writable
CustomDependency:
type: object
properties:
direction:
type: string
enum:
- outgoing
- incoming
maxLength: 64
minLength: 1
entityType:
type: string
description: 'If entityType is set, the dependency will be added to the plugin for that entity type. Otherwise, the dependency will be applied to the custom entity itself.'
maxLength: 64
minLength: 0
identifiers:
type: array
description: Will take the identifiers values for building the key of the dependency.
items:
type: string
description: Will take the identifiers values for building the key of the dependency.
maxItems: 512
minItems: 0
uniqueItems: true
name:
type: string
maxLength: 256
minLength: 1
separator:
type: string
description: Separator between identifiers for building the key of the dependency.
type:
type: string
enum:
- in
- is
- to
- of
- connected
- describes
- of20
- to20
- dummy
- parent
maxLength: 8
minLength: 1
CustomEmailSubjectPrefix:
type: object
properties:
agentMonitoringIssue:
type: object
additionalProperties:
type: string
description: A map containing the open and close email subject value of a given agent monitoring issue
example: '{"openValue":"Open email subject prefix value","closeValue":"Close email subject prefix value"}'
description: A map containing the open and close email subject value of a given agent monitoring issue
example:
closeValue: Close email subject prefix value
openValue: Open email subject prefix value
change:
type: object
additionalProperties:
type: string
description: A map containing the open and close email subject value of a given change event
example: '{"changeValue":"Email subject prefix value"}'
description: A map containing the open and close email subject value of a given change event
example:
changeValue: Email subject prefix value
incident:
type: object
additionalProperties:
type: string
description: A map containing the open and close email subject value of a given incident
example: '{"openValue":"Open email subject prefix value","closeValue":"Close email subject prefix value"}'
description: A map containing the open and close email subject value of a given incident
example:
closeValue: Close email subject prefix value
openValue: Open email subject prefix value
issue:
type: object
additionalProperties:
type: string
description: A map containing the open and close email subject value of a given issue
example: '{"openValue":"Open email subject prefix value","closeValue":"Close email subject prefix value"}'
description: A map containing the open and close email subject value of a given issue
example:
closeValue: Close email subject prefix value
openValue: Open email subject prefix value
CustomEntityModel:
type: object
properties:
dashboards:
type: array
items:
$ref: '#/components/schemas/CustomDashboard'
uniqueItems: true
dependencies:
type: array
items:
$ref: '#/components/schemas/CustomDependency'
uniqueItems: true
identifiers:
type: array
items:
type: string
label:
type: string
metrics:
type: array
items:
$ref: '#/components/schemas/CustomMetric'
uniqueItems: true
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
required:
- identifiers
- label
- tagFilterExpression
CustomEntityWithMetadata:
type: object
properties:
created:
type: integer
format: int64
data:
$ref: '#/components/schemas/CustomEntityModel'
id:
type: string
version:
type: string
required:
- data
- id
CustomEventMobileAppAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/MobileAppAlertRule'
- type: object
properties:
customEventName:
type: string
required:
- aggregation
- customEventName
- metricName
CustomEventSpecification:
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/Action'
description:
type: string
maxLength: 32765
minLength: 0
enabled:
type: boolean
entityType:
type: string
maxLength: 64
minLength: 0
expirationTime:
type: integer
format: int64
name:
type: string
maxLength: 256
minLength: 0
query:
type: string
maxLength: 2048
minLength: 0
ruleLogicalOperator:
type: string
description: Set AND / OR
enum:
- AND
- OR
rules:
type: array
items:
$ref: '#/components/schemas/AbstractRule'
maxItems: 5
minItems: 1
transientEventAlertMuted:
type: boolean
transientEventEnabled:
type: boolean
transientEventThreshold:
type: integer
format: int64
triggering:
type: boolean
required:
- entityType
- name
- rules
CustomEventSpecificationWithLastUpdated:
type: object
properties:
actions:
type: array
items:
$ref: '#/components/schemas/Action'
applicationAlertConfigId:
type: string
maxLength: 64
minLength: 0
deleted:
type: boolean
description:
type: string
maxLength: 32765
minLength: 0
enabled:
type: boolean
entityType:
type: string
maxLength: 64
minLength: 0
expirationTime:
type: integer
format: int64
id:
type: string
maxLength: 64
minLength: 0
lastUpdated:
type: integer
format: int64
minimum: 1
migrated:
type: boolean
name:
type: string
maxLength: 256
minLength: 0
query:
type: string
maxLength: 2048
minLength: 0
ruleLogicalOperator:
type: string
description: Set AND / OR
enum:
- AND
- OR
rules:
type: array
items:
$ref: '#/components/schemas/AbstractRule'
maxItems: 5
minItems: 1
transientEventAlertMuted:
type: boolean
transientEventEnabled:
type: boolean
transientEventThreshold:
type: integer
format: int64
triggering:
type: boolean
required:
- entityType
- id
- name
- rules
CustomEventWebsiteAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/WebsiteAlertRule'
- type: object
properties:
customEventName:
type: string
required:
- aggregation
- customEventName
- metricName
CustomMetric:
type: object
properties:
aggregation:
type: string
description: Aggregation to apply on the metric for every member.
enum:
- AVG
- SUM
category:
type: string
description: Category of the metric in the catalog
description:
type: string
description: Description to be used in the catalog
formatter:
type: string
description: |
|
* NUMBER: Generic number
* BYTES: Number of bytes
* KILO_BYTES: Number of kilobytes
* MEGA_BYTES: Number of megabytes
* PERCENTAGE: Percentage in scale [0,1]
* PERCENTAGE_100: Percentage in scale [0,100]
* PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated
* PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated
* LATENCY: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms
* NANOS: Time in nanoseconds
* MILLIS: Time in milliseconds
* MICROS: Time in microseconds
* SECONDS: Time in seconds
* RATE: Number of occurrences per second
* BYTE_RATE: Number of bytes per second
* UNDEFINED: Metric value unit is not known
enum:
- NUMBER
- BYTES
- KILO_BYTES
- MEGA_BYTES
- PERCENTAGE
- PERCENTAGE_100
- PERCENTAGE_NO_CAPPING
- PERCENTAGE_100_NO_CAPPING
- LATENCY
- NANOS
- MILLIS
- MICROS
- SECONDS
- RATE
- BYTE_RATE
- UNDEFINED
label:
type: string
description: Label to be used in the catalog
name:
type: string
description: Name of the metric
section:
type: string
description: Section of the metric in the catalog
enum:
- ACE
- ALICLOUD
- AWS
- AZURE
- CASSANDRA
- CLOUD_FOUNDRY
- CLR
- COCKROACH
- CONSUL
- CONTAINER
- COUCHBASE
- DFQ
- ELASTICSEARCH
- GCP
- HADOOP_YARN
- HAZELCAST
- IBM_CLOUD
- IBM_DATAPOWER
- IBM_I_SERIES
- IBM_MQ
- IBM_MQMFT
- IBM_OPENSTACK
- KAFKA_CONNECT
- KUBERNETES
- MONGO_DB
- OTHERS
- REDIS
- SAP
- SELF_MONITORING
- SOLR
- SPARK
- TIBCOBW
- TUXEDO
- VSHPERE
- WEBSPHERE
- CUSTOM_ENTITY
source:
type: string
description: Name of the source metric
type:
type: string
description: Type of entity for the source metric
CustomPayloadConfiguration:
type: object
properties:
fields:
type: array
description: Required parameters for custom payload configuration.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
required:
- fields
CustomPayloadField:
type: object
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
discriminator:
mapping:
dynamic: '#/components/schemas/DynamicField'
staticString: '#/components/schemas/StaticStringField'
propertyName: type
properties:
key:
type: string
description: A user-specified unique identifier or name for a custom payload entry.
type:
type: string
required:
- key
- type
CustomPayloadWithLastUpdated:
type: object
properties:
fields:
type: array
description: Required parameters for custom payload configuration.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
lastUpdated:
type: integer
format: int64
description: Unix timestamp representing the time (in milliseconds) the configuration was last updated.
minimum: 1
required:
- fields
CustomPayloadWithVersion:
type: object
properties:
fields:
type: array
description: Required parameters for custom payload configuration.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
lastUpdated:
type: integer
format: int64
description: Unix timestamp representing the time (in milliseconds) the configuration was last updated.
minimum: 1
version:
type: integer
format: int32
description: Global custom payloads version.
required:
- fields
- version
DNSConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfiguration'
- type: object
properties:
acceptCNAME:
type: boolean
lookup:
type: string
lookupServerName:
type: boolean
port:
type: integer
format: int32
queryTime:
$ref: '#/components/schemas/DNSFilterQueryTime'
queryType:
type: string
enum:
- ALL
- ALL_CONDITIONS
- ANY
- A
- AAAA
- CNAME
- NS
recursiveLookups:
type: boolean
server:
type: string
serverRetries:
type: integer
format: int32
targetValues:
type: array
items:
$ref: '#/components/schemas/DNSFilterTargetValue'
transport:
type: string
enum:
- TCP
- UDP
required:
- lookup
- markSyntheticCall
- server
- syntheticType
DNSConfigurationUpdate:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate'
- type: object
properties:
acceptCNAME:
type: boolean
lookup:
type: string
lookupServerName:
type: boolean
port:
type: integer
format: int32
queryTime:
$ref: '#/components/schemas/DNSFilterQueryTime'
queryType:
type: string
enum:
- ALL
- ALL_CONDITIONS
- ANY
- A
- AAAA
- CNAME
- NS
recursiveLookups:
type: boolean
server:
type: string
serverRetries:
type: integer
format: int32
targetValues:
$ref: '#/components/schemas/SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue'
transport:
type: string
enum:
- TCP
- UDP
DNSFilterQueryTime:
type: object
properties:
key:
type: string
operator:
type: string
enum:
- CONTAINS
- EQUALS
- GREATER_THAN
- IS
- LESS_THAN
- MATCHES
- NOT_MATCHES
value:
type: integer
format: int64
required:
- key
- operator
- value
DNSFilterTargetValue:
type: object
properties:
key:
type: string
enum:
- ALL
- ALL_CONDITIONS
- ANY
- A
- AAAA
- CNAME
- NS
operator:
type: string
enum:
- CONTAINS
- EQUALS
- GREATER_THAN
- IS
- LESS_THAN
- MATCHES
- NOT_MATCHES
value:
type: string
required:
- key
- operator
- value
DashboardApiToken:
type: object
properties:
id:
type: string
name:
type: string
required:
- id
- name
DatabaseIntegration:
type: object
properties:
type:
type: string
url:
type: string
DeprecatedTagFilter:
type: object
properties:
entity:
type: string
enum:
- NOT_APPLICABLE
- DESTINATION
- SOURCE
name:
type: string
operator:
type: string
enum:
- EQUALS
- CONTAINS
- LESS_THAN
- LESS_OR_EQUAL_THAN
- GREATER_THAN
- GREATER_OR_EQUAL_THAN
- NOT_EMPTY
- NOT_EQUAL
- NOT_CONTAIN
- IS_EMPTY
- NOT_BLANK
- IS_BLANK
- STARTS_WITH
- ENDS_WITH
- NOT_STARTS_WITH
- NOT_ENDS_WITH
- REGEX_MATCH
value:
type: string
required:
- name
- operator
- value
Division:
type: object
allOf:
- $ref: '#/components/schemas/ArithmeticOperation'
required:
- left
- right
Duration:
type: object
properties:
amount:
type: integer
format: int64
minimum: 1
unit:
type: string
enum:
- MINUTES
- HOURS
- DAYS
required:
- amount
- unit
DynamicField:
type: object
allOf:
- $ref: '#/components/schemas/CustomPayloadField'
- type: object
properties:
value:
$ref: '#/components/schemas/DynamicFieldValue'
required:
- key
- value
DynamicFieldValue:
type: object
properties:
key:
type: string
description: 'Key for selected dynamic tag: specifies which dictionary style value user is interested in.'
tagName:
type: string
description: Each dynamic payload entry is associated with tag from Instana's tag catalog
required:
- tagName
DynamicParameter:
type: object
description: List of dynamic parameters
properties:
key:
type: string
description: Parameter key
name:
type: string
description: Parameter name
resolvedValue:
type: string
description: Parameter value after resolution
tagName:
type: string
description: 'The name of the tag. Eg: `call.name`'
EditUser:
type: object
properties:
fullName:
type: string
required:
- fullName
EmailIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
customEmailSubjectPrefix:
$ref: '#/components/schemas/CustomEmailSubjectPrefix'
emails:
type: array
items:
type: string
required:
- emails
- id
- kind
- name
EmptyConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfiguration'
required:
- markSyntheticCall
- syntheticType
Endpoint:
type: object
properties:
entityType:
type: string
description: 'Since, this is a Endpoint, it will be of type `ENDPOINT`.'
enum:
- APPLICATION
- SERVICE
- ENDPOINT
id:
type: string
description: 'Unique ID of the Endpoint. Eg: `NCRq5oYnan5x-PkdTPQwLLUdu5M`.'
isSynthetic:
type: boolean
writeOnly: true
label:
type: string
description: 'Name of the Endpoint. Eg: `GET /api/fetch`.'
serviceId:
type: string
description: The serviceId this endpoint belongs to.
synthetic:
type: boolean
syntheticType:
type: string
enum:
- NON_SYNTHETIC
- SYNTHETIC
- MIXED
technologies:
type: array
description: 'List of technologies: `Eg:["springbootApplicationContainer"]`'
items:
type: string
description: 'List of technologies: `Eg:["springbootApplicationContainer"]`'
uniqueItems: true
type:
type: string
description: The type of the Endpoint.
enum:
- UNDEFINED
- RPC
- EVENT
- GRAPHQL
- BATCH
- SHELL
- HTTP
- SDK
- OPENTELEMETRY
- INTERNAL
- DATABASE
- MESSAGING
- PAGE
- PAGE_RESOURCE
required:
- id
- label
- serviceId
- technologies
- type
EndpointConfig:
type: object
properties:
endpointCase:
type: string
description: |
This represents case sensitivity of endpoints of a service.
Let's say in a service there are three endpoints, `user`, `Order` and `PAYMENT`:
For example, if `endpointCase` is `UPPER`, then endpoint names are converted to `USER`, `ORDER` and `PAYMENT`.
If `endpointCase` is `LOWER`, then endpoint names are converted to `user`, `order` and `payment`.
If `endpointCase` is `ORIGINAL`, then endpoint names are converted to `user`, `Order` and `PAYMENT`.
enum:
- ORIGINAL
- LOWER
- UPPER
endpointNameByCollectedPathTemplateRuleEnabled:
type: boolean
description: |
The highest default precedence of endpoint rule is creating endpoint is based on path template. For example,
```
/hospital/1948/patient/291148
/hospital/728/patient/924892
/hospital/47/patient/25978
/hospital/108429/patient/1847
```
can be considered as `/hospital/{hid}/patient/{pid}` if this rule is enabled. For most of the use cases, this rule should be enabled.
endpointNameByFirstPathSegmentRuleEnabled:
type: boolean
description: |
There are endpoint extraction rules in Instana which take the first path segment from the HTTP request and turn this into an endpoint name.
For example, given the following URLs `/users/123/profile` and `/users/123/settings`, the extraction rule will only take the first segment. As a result endpoint name will be `users`.
Although this is useful in cases where broad overview of monitoring is required, lot of use cases are more specified.
Considering the above example, if this rule is enabled, Instana can't distinguish between `profile` or `settings` as endpoints.
For use cases where endpoints has to be monitored at fine granular level, this flag should be set to `false`.
rules:
type: array
description: Specify custom rule configuration apart from Instana predefined rules. This rule has the highest precedence. This is only available for HTTP endpoints.
items:
$ref: '#/components/schemas/HttpEndpointRule'
maxItems: 500
minItems: 1
serviceId:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
required:
- endpointCase
- serviceId
EndpointEventResult:
type: object
allOf:
- $ref: '#/components/schemas/EventResult'
- type: object
properties:
applicationId:
type: string
description: ID of the application this endpoint is in scope of.
endpointId:
type: string
description: ID of the endpoint.
endpointServiceId:
type: string
description: ID service related to this endpoint.
EndpointItem:
type: object
properties:
endpoint:
$ref: '#/components/schemas/Endpoint'
metrics:
type: object
additionalProperties:
type: array
items:
type: array
items:
type: number
required:
- endpoint
- metrics
EndpointMetricResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
items:
type: array
items:
$ref: '#/components/schemas/EndpointItem'
page:
type: integer
format: int32
description: Page Number
minimum: 1
pageSize:
type: integer
format: int32
minimum: 1
totalHits:
type: integer
format: int64
minimum: 0
required:
- items
EndpointNode:
type: object
properties:
endpointId:
type: string
maxLength: 64
minLength: 0
inclusive:
type: boolean
required:
- endpointId
EndpointResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Endpoint'
page:
type: integer
format: int32
description: Page number you want to retrieve in a request / retrieved in a response.
pageSize:
type: integer
format: int32
description: number of elements retrieved in a single query.
totalHits:
type: integer
format: int32
description: 'The number of results returned. For eg: If `items` has 5 elements, `totalhits` will be 5'
EndpointSimple:
type: object
description: The destination service's endpoint where the call enters.
properties:
id:
type: string
description: 'Unique ID of the Endpoint. Eg: `NCRq5oYnan5x-PkdTPQwLLUdu5M`.'
label:
type: string
description: 'Name of the Endpoint. Eg: `GET /api/fetch`.'
type:
type: string
description: The type of the Endpoint.
enum:
- UNDEFINED
- RPC
- EVENT
- GRAPHQL
- BATCH
- SHELL
- HTTP
- SDK
- OPENTELEMETRY
- INTERNAL
- DATABASE
- MESSAGING
- PAGE
- PAGE_RESOURCE
EntityCountRule:
type: object
allOf:
- $ref: '#/components/schemas/AbstractRule'
- type: object
properties:
conditionOperator:
type: string
enum:
- '>'
- '>='
- <
- <=
- =
- '!='
conditionValue:
type: number
format: double
required:
- conditionOperator
EntityCountVerificationRule:
type: object
allOf:
- $ref: '#/components/schemas/AbstractRule'
- type: object
properties:
conditionOperator:
type: string
enum:
- '>'
- '>='
- <
- <=
- =
- '!='
conditionValue:
type: number
format: double
matchingEntityLabel:
type: string
maxLength: 2048
minLength: 0
matchingEntityType:
type: string
maxLength: 64
minLength: 0
matchingOperator:
type: string
enum:
- is
- contains
- startsWith
- endsWith
required:
- conditionOperator
- matchingEntityLabel
- matchingEntityType
- matchingOperator
EntityHealthInfo:
type: object
properties:
maxSeverity:
type: number
format: double
maximum: 10
minimum: 0
openIssues:
type: array
items:
$ref: '#/components/schemas/Event'
uniqueItems: true
required:
- openIssues
EntityId:
type: object
properties:
host:
type: string
pluginId:
type: string
description: Plugin name
steadyId:
type: string
description: Steady identifier for the entity.
required:
- host
- pluginId
- steadyId
EntityVerificationRule:
type: object
allOf:
- $ref: '#/components/schemas/AbstractRule'
- type: object
properties:
matchingEntityLabel:
type: string
maxLength: 2048
minLength: 0
matchingEntityType:
type: string
maxLength: 64
minLength: 0
matchingOperator:
type: string
enum:
- is
- contains
- startsWith
- endsWith
offlineDuration:
type: integer
format: int64
required:
- matchingEntityLabel
- matchingEntityType
- matchingOperator
ErrorBudgetAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/ServiceLevelsAlertRule'
- type: object
properties:
metric:
type: string
description: 'This is the service levels metric type. Error budget alert uses BURNED_PERCENTAGE, BURN_RATE (Deprecated) or BURN_RATE_V2 metric.'
enum:
- BURN_RATE
- BURNED_PERCENTAGE
- BURN_RATE_V2
required:
- metric
ErrorsApplicationAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/ApplicationAlertRule'
required:
- metricName
Event:
type: object
properties:
end:
type: integer
format: int64
minimum: 1
endpointServiceId:
type: string
maxLength: 64
minLength: 0
entityId:
type: string
maxLength: 64
minLength: 0
entityType:
type: string
enum:
- Entity10
- App20
- Service20
- Endpoint20
- Website
- Synthetic
- MobileApp
- Log
eventConfigurationType:
type: string
id:
type: string
maxLength: 64
minLength: 0
longFormPluginId:
type: string
metadata:
type: object
additionalProperties:
type: object
metricAccessId:
type: string
maxLength: 64
minLength: 0
plugin:
type: string
maxLength: 256
minLength: 0
problem:
$ref: '#/components/schemas/Problem'
rca:
type: object
additionalProperties:
type: object
shortCode:
type: string
maxLength: 64
minLength: 0
start:
type: integer
format: int64
minimum: 1
state:
type: string
maxLength: 8
minLength: 0
type:
type: string
maxLength: 64
minLength: 0
required:
- entityId
- id
- plugin
- state
- type
EventFilteringConfiguration:
type: object
description: Event Filter Configuration for supporting the scope of the Alert Configuration. Applies a filter based on the application perspective or selected entities.
properties:
applicationAlertConfigIds:
type: array
items:
type: string
maxItems: 1024
minItems: 0
uniqueItems: true
eventTypes:
type: array
items:
type: string
enum:
- incident
- critical
- warning
- change
- online
- offline
- agent_monitoring_issue
- cve_issue
- none
maxItems: 1024
minItems: 0
uniqueItems: true
query:
type: string
maxLength: 2048
minLength: 0
ruleIds:
type: array
items:
type: string
maxItems: 1024
minItems: 0
uniqueItems: true
EventResult:
type: object
discriminator:
mapping:
APPLICATION: '#/components/schemas/ApplicationEventResult'
ENDPOINT: '#/components/schemas/EndpointEventResult'
INFRASTRUCTURE: '#/components/schemas/InfraEventResult'
LOG: '#/components/schemas/LogEventResult'
MOBILE_APP: '#/components/schemas/MobileAppEventResult'
SERVICE: '#/components/schemas/ServiceEventResult'
SYNTHETICS: '#/components/schemas/SyntheticsEventResult'
WEBSITE: '#/components/schemas/WebsiteEventResult'
propertyName: entityType
properties:
detail:
type: string
description: Details of the event.
end:
type: integer
format: int64
description: A Unix timestamp representing the end time of the Event.
entityLabel:
type: string
description: The label of the affected entity of the event.
entityName:
type: string
description: The name or type of the affected entity of the event.
entityType:
type: string
description: The category of the affected entity.
eventId:
type: string
description: ID of this Event.
eventSpecificationId:
type: string
description: ID of the configuration that created this event.
fixSuggestion:
type: string
deprecated: true
description: Details of the event.
metrics:
type: array
description: List of metrics associated with the Event.
items:
type: object
additionalProperties:
type: object
description: List of metrics associated with the Event.
description: List of metrics associated with the Event.
probableCause:
type: object
additionalProperties:
type: object
description: Metadata of the probable root cause for this event. Only present in case of specific "Incident" type events.
description: Metadata of the probable root cause for this event. Only present in case of specific "Incident" type events.
problem:
type: string
description: Main problem title of the Event.
recentEvents:
type: array
description: List of related recent events. Only present in case of "Incident" type events.
items:
type: object
additionalProperties:
type: object
description: List of related recent events. Only present in case of "Incident" type events.
description: List of related recent events. Only present in case of "Incident" type events.
severity:
type: integer
format: int32
description: The severity of the Event when triggered.
shortCode:
type: string
description: A short code for the event
snapshotId:
type: string
deprecated: true
description: The snapshot ID of the affected entity of this event.
start:
type: integer
format: int64
description: A Unix timestamp representing the start time of the Event.
state:
type: string
description: 'The state of the Event, "open" or "close". '
type:
type: string
description: The type of Event.
EventSpecificationInfo:
type: object
properties:
description:
type: string
enabled:
type: boolean
entityType:
type: string
id:
type: string
maxLength: 64
minLength: 0
invalid:
type: boolean
migrated:
type: boolean
name:
type: string
maxLength: 256
minLength: 0
severity:
type: integer
format: int32
triggering:
type: boolean
type:
type: string
enum:
- BUILT_IN
- CUSTOM
required:
- entityType
- id
- name
- type
ExtendedService:
type: object
description: List of services in the topology.
properties:
applications:
type: array
items:
type: string
uniqueItems: true
entityType:
type: string
description: 'Since, this is a Service, it will be of type `SERVICE`.'
enum:
- APPLICATION
- SERVICE
- ENDPOINT
id:
type: string
description: 'Unique ID of the Service. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.'
label:
type: string
description: 'Name of the Service. Eg: `payment`.'
maxSeverity:
type: number
format: double
maximum: 10
minimum: 0
numberOfOpenIssues:
type: integer
format: int32
minimum: 0
snapshotIds:
type: array
description: A unique identifier the metrics are assigned to.
items:
type: string
description: A unique identifier the metrics are assigned to.
uniqueItems: true
technologies:
type: array
description: 'List of technologies: `Eg:["springbootApplicationContainer"]`'
items:
type: string
description: 'List of technologies: `Eg:["springbootApplicationContainer"]`'
uniqueItems: true
types:
type: array
description: 'Shows types of Endpoints a Service can consist of. It may be one or more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service.'
items:
type: string
description: 'Shows types of Endpoints a Service can consist of. It may be one or more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service.'
enum:
- UNDEFINED
- RPC
- EVENT
- GRAPHQL
- BATCH
- SHELL
- HTTP
- SDK
- OPENTELEMETRY
- INTERNAL
- DATABASE
- MESSAGING
- PAGE
- PAGE_RESOURCE
uniqueItems: true
required:
- applications
- id
- label
- snapshotIds
- technologies
- types
FailureSyntheticAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticAlertRule'
required:
- metricName
Field:
type: object
description: List of fields that describe an action.
properties:
description:
type: string
encoding:
type: string
name:
type: string
secured:
type: boolean
value:
type: string
required:
- encoding
- name
- value
FixedHttpPathSegmentMatchingRule:
type: object
allOf:
- $ref: '#/components/schemas/HttpPathSegmentMatchingRule'
- type: object
properties:
name:
type: string
description: |
Given `/api/{version}/users` URI, `FIXED` names are `api` and `users` in order.
required:
- name
- type
FixedTimeWindow:
type: object
allOf:
- $ref: '#/components/schemas/TimeWindow'
- type: object
properties:
startTimestamp:
type: string
format: date-time
description: The timestamp at which the fixed time window of the SLO starts
required:
- duration
- durationUnit
- startTimestamp
GenericInfraAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/InfraAlertRule'
- type: object
properties:
metricGroupBy:
type: array
items:
type: string
maxItems: 1
minItems: 0
required:
- aggregation
- crossSeriesAggregation
- entityType
- metricGroupBy
- metricName
- metricTagFilterExpression
GeoLocationConfiguration:
type: object
properties:
geoDetailRemoval:
type: string
enum:
- NO_REMOVAL
- REMOVE_COORDINATES
- REMOVE_CITY
- REMOVE_ALL
geoMappingRules:
type: array
items:
$ref: '#/components/schemas/GeoMappingRule'
maxItems: 512
minItems: 0
required:
- geoDetailRemoval
GeoMappingRule:
type: object
properties:
accuracyRadius:
type: integer
format: int64
minimum: -1
cidr:
type: string
maxLength: 128
minLength: 0
city:
type: string
continent:
type: string
continentCode:
type: string
country:
type: string
countryCode:
type: string
latitude:
type: number
format: double
leastSpecificSubdivision:
$ref: '#/components/schemas/GeoSubdivision'
longitude:
type: number
format: double
subdivisions:
type: array
items:
$ref: '#/components/schemas/GeoSubdivision'
maxItems: 8
minItems: 0
required:
- cidr
- subdivisions
GeoSubdivision:
type: object
properties:
code:
type: string
maxLength: 32
minLength: 0
name:
type: string
maxLength: 256
minLength: 0
required:
- name
GetActivities:
type: object
properties:
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/Pagination'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
timeframe:
$ref: '#/components/schemas/TimeFrame'
required:
- order
- pagination
- timeFrame
GetApplicationMetrics:
type: object
properties:
includeInternal:
type: boolean
writeOnly: true
includeSynthetic:
type: boolean
writeOnly: true
metrics:
type: array
items:
$ref: '#/components/schemas/AppDataMetricConfiguration'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- metrics
- timeFrame
GetApplications:
type: object
properties:
applicationBoundaryScope:
type: string
description: |-
Use when querying calls of an application:
`INBOUND`: only inbound calls
`ALL`: all the calls to that application (inbound + internal)
enum:
- ALL
- INBOUND
applicationId:
type: string
description: |
An Instana generated unique identifier for an Application. If specified, the list of results will be filtered for the specified Application ID. Eg: `Av62RoIKQv-A3n6DbMQh9g`.
One can see the application id from Instana UI by going to an Application Perspective page. In the URL, there will be `appId=Av62RoIKQv-A3n6DbMQh9g`.
Alternatively, one can use `Get applications` API endpoint to get the application id in `id` parameter.
maxLength: 64
minLength: 0
endpointId:
type: string
description: |
An Instana generated unique identifier for an Endpoint. If specified, the list of results will be filtered for the specified Endpoint ID. Eg `NCRq5oYnan5x-PkdTPQwLLUdu5M`.
One can see the endpoint id from Instana UI by going to an Endpoint page. In the URL, there will be `endpointId=NCRq5oYnan5x-PkdTPQwLLUdu5M`.
Alternatively, one can use `Get endpoints` API endpoint to get the endpoint id in `id` parameter.
maxLength: 64
minLength: 0
endpointTypes:
type: array
items:
type: string
enum:
- UNDEFINED
- RPC
- EVENT
- GRAPHQL
- BATCH
- SHELL
- HTTP
- SDK
- OPENTELEMETRY
- INTERNAL
- DATABASE
- MESSAGING
- PAGE
- PAGE_RESOURCE
uniqueItems: true
writeOnly: true
metrics:
type: array
description: 'A list of objects each of which defines a metric and the (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': ''MEAN''}]`. To know more about supported metrics and its aggregation, See `Get Metric catalog`.'
items:
$ref: '#/components/schemas/AppDataMetricConfiguration'
maxItems: 5
minItems: 1
nameFilter:
type: string
description: 'filter by name with `contains` semantic. Eg: Let''s say there are 2 names `app1` and `app2`, you can set `app`` here to include the two names'
maxLength: 256
minLength: 0
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/Pagination'
serviceId:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
maxLength: 64
minLength: 0
technologies:
type: array
items:
type: string
uniqueItems: true
writeOnly: true
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- metrics
GetAvailableMetricsQuery:
type: object
properties:
query:
type: string
description: 'Search term used to filter results using fields such as label, description, tag name or keywords'
maxLength: 200
minLength: 0
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
description: Entity type. Identifier for the monitored technology.
required:
- tagFilterExpression
- timeFrame
GetAvailablePluginsQuery:
type: object
properties:
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- tagFilterExpression
- timeFrame
GetCallGroups:
type: object
properties:
group:
$ref: '#/components/schemas/Group'
includeInternal:
type: boolean
description: Flag to include Internal Calls. These calls are work done inside a service and correspond to intermediate spans in custom tracing.
includeSynthetic:
type: boolean
description: 'Flag to include Synthetic Calls. These calls have a synthetic endpoint as their destination, such as calls to health-check endpoints.'
metrics:
type: array
description: 'A list of objects each of which defines a metric and the (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': ''MEAN''}]`. To know more about supported metrics and its aggregation, See `Get Metric catalog`.'
items:
$ref: '#/components/schemas/MetricConfig'
maxItems: 5
minItems: 1
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/CursorPagination'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/DeprecatedTagFilter'
maxItems: 10
minItems: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- group
- metrics
GetCombinedMetrics:
type: object
properties:
metrics:
type: array
description: 'Id of the exact metric you want to retrieve, eg. "cpu.user", "clientrequests.read.mean"'
items:
type: string
description: 'Id of the exact metric you want to retrieve, eg. "cpu.user", "clientrequests.read.mean"'
maxItems: 5
minItems: 1
uniqueItems: true
plugin:
type: string
description: Plugin name
example: host
query:
type: string
description: Dynamic Focus Query
example: 'entity.selfType:java'
rollup:
type: integer
format: int32
description: Rollup value in seconds
example: 5
snapshotIds:
type: array
description: Unique identifier the metrics are assigned to
items:
type: string
description: Unique identifier the metrics are assigned to
maxItems: 30
minItems: 1
uniqueItems: true
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- metrics
- plugin
GetDynamicParameterValues:
type: object
properties:
eventId:
type: string
description: Event identifier
parameters:
type: array
description: List of dynamic parameters
items:
$ref: '#/components/schemas/DynamicParameter'
timestamp:
type: integer
format: int64
description: The start of the timestamp expressed in Unix epoch time in milliseconds.
required:
- eventId
- parameters
- timestamp
GetEndpoints:
type: object
properties:
applicationBoundaryScope:
type: string
description: |-
Use when querying calls of an application:
`INBOUND`: only inbound calls
`ALL`: all the calls to that application (inbound + internal)
enum:
- ALL
- INBOUND
applicationId:
type: string
description: |
An Instana generated unique identifier for an Application. If specified, the list of results will be filtered for the specified Application ID. Eg: `Av62RoIKQv-A3n6DbMQh9g`.
One can see the application id from Instana UI by going to an Application Perspective page. In the URL, there will be `appId=Av62RoIKQv-A3n6DbMQh9g`.
Alternatively, one can use `Get applications` API endpoint to get the application id in `id` parameter.
maxLength: 64
minLength: 0
endpointId:
type: string
description: |
An Instana generated unique identifier for an Endpoint. If specified, the list of results will be filtered for the specified Endpoint ID. Eg `NCRq5oYnan5x-PkdTPQwLLUdu5M`.
One can see the endpoint id from Instana UI by going to an Endpoint page. In the URL, there will be `endpointId=NCRq5oYnan5x-PkdTPQwLLUdu5M`.
Alternatively, one can use `Get endpoints` API endpoint to get the endpoint id in `id` parameter.
maxLength: 64
minLength: 0
endpointTypes:
type: array
description: 'A list of endpoint types, each of which is a string. An endpoint can specified for a database, an SDK, etc.'
items:
type: string
description: 'A list of endpoint types, each of which is a string. An endpoint can specified for a database, an SDK, etc.'
enum:
- UNDEFINED
- RPC
- EVENT
- GRAPHQL
- BATCH
- SHELL
- HTTP
- SDK
- OPENTELEMETRY
- INTERNAL
- DATABASE
- MESSAGING
- PAGE
- PAGE_RESOURCE
maxItems: 8
minItems: 0
uniqueItems: true
excludeSynthetic:
type: boolean
description: 'A variable used to specify whether synthetic endpoints should be excluded. If set to ''true'', synthetic endpoints will be excluded from the result.'
metrics:
type: array
description: 'A list of objects each of which defines a metric and the (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': ''MEAN''}]`. To know more about supported metrics and its aggregation, See `Get Metric catalog`.'
items:
$ref: '#/components/schemas/AppDataMetricConfiguration'
maxItems: 5
minItems: 1
nameFilter:
type: string
description: 'filter by endpoint name with `contains` semantic. Eg: Let''s say there are 2 Endpoint names `GET /api/fetch` and `GET /api/update`, you can set `GET /api/` here to include the two Endpoints.'
maxLength: 256
minLength: 0
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/Pagination'
serviceId:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
maxLength: 64
minLength: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- metrics
GetInfrastructureGroupsQuery:
type: object
properties:
groupBy:
type: array
description: Entity grouping tag. Use the Instana Analyze Infrastructure dashboard to determine the entity grouping tag name.
items:
type: string
description: Entity grouping tag. Use the Instana Analyze Infrastructure dashboard to determine the entity grouping tag name.
maxItems: 5
minItems: 0
metrics:
type: array
items:
$ref: '#/components/schemas/InfraMetricConfiguration'
maxItems: 10
minItems: 0
missingPlaceholder:
type: string
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/CursorPaginationInfraExploreCursor'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
description: Type of entities
required:
- groupBy
- pagination
- tagFilterExpression
- timeFrame
GetInfrastructureQuery:
type: object
properties:
metrics:
type: array
items:
$ref: '#/components/schemas/InfraMetricConfiguration'
maxItems: 10
minItems: 0
missingPlaceholder:
type: string
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/CursorPaginationInfraExploreCursor'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tags:
type: array
items:
type: string
maxItems: 5
minItems: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
description: Type of entities
required:
- pagination
- tagFilterExpression
- timeFrame
GetMetricsResult:
type: object
properties:
disableDefaultGroups:
type: boolean
writeOnly: true
groups:
type: array
description: ' Grouping of data under `groupbyTag`, where `groupbyTagEntity` and `groupbyTagSecondLevelKey` are aspects of `groupbyTag`.'
items:
$ref: '#/components/schemas/SyntheticMetricTagGroup'
includeAggregatedTestIds:
type: boolean
writeOnly: true
metrics:
type: array
description: 'A list of objects each of which defines a metric and the (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': ''MEAN''}]`. To know more about supported metrics and its aggregation, See `Get Metric catalog`.'
items:
$ref: '#/components/schemas/SyntheticMetricConfiguration'
pagination:
$ref: '#/components/schemas/Pagination'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- metrics
GetMobileAppBeaconGroups:
type: object
properties:
group:
$ref: '#/components/schemas/MobileAppBeaconTagGroup'
metrics:
type: array
items:
$ref: '#/components/schemas/MobileAppMonitoringMetricsConfiguration'
maxItems: 5
minItems: 1
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/CursorPagination'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/DeprecatedTagFilter'
maxItems: 32
minItems: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
enum:
- SESSION_START
- HTTP_REQUEST
- CRASH
- CUSTOM
- VIEW_CHANGE
- DROP_BEACON
- PERF
required:
- group
- metrics
- type
GetMobileAppBeacons:
type: object
properties:
pagination:
$ref: '#/components/schemas/CursorPagination'
tagFilters:
type: array
items:
$ref: '#/components/schemas/DeprecatedTagFilter'
maxItems: 32
minItems: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
enum:
- SESSION_START
- HTTP_REQUEST
- CRASH
- CUSTOM
- VIEW_CHANGE
- DROP_BEACON
- PERF
required:
- type
GetMobileAppMetrics:
type: object
properties:
metrics:
type: array
items:
$ref: '#/components/schemas/MobileAppMonitoringMetricsConfiguration'
maxItems: 5
minItems: 1
tagFilters:
type: array
items:
$ref: '#/components/schemas/DeprecatedTagFilter'
maxItems: 32
minItems: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
enum:
- SESSION_START
- HTTP_REQUEST
- CRASH
- CUSTOM
- VIEW_CHANGE
- DROP_BEACON
- PERF
required:
- metrics
- type
GetMobileAppMetricsV2:
type: object
properties:
metrics:
type: array
items:
$ref: '#/components/schemas/MobileAppMonitoringMetricsConfiguration'
maxItems: 5
minItems: 1
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
enum:
- SESSION_START
- HTTP_REQUEST
- CRASH
- CUSTOM
- VIEW_CHANGE
- DROP_BEACON
- PERF
required:
- metrics
- type
GetPayloadKeysResult:
type: object
properties:
payloadKeys:
type: array
description: Keys that can be used to retrieve plugin payloads.
items:
type: string
description: Keys that can be used to retrieve plugin payloads.
GetServices:
type: object
properties:
applicationBoundaryScope:
type: string
description: |-
Use when querying calls of an application:
`INBOUND`: only inbound calls
`ALL`: all the calls to that application (inbound + internal)
enum:
- ALL
- INBOUND
applicationId:
type: string
description: |
An Instana generated unique identifier for an Application. If specified, the list of results will be filtered for the specified Application ID. Eg: `Av62RoIKQv-A3n6DbMQh9g`.
One can see the application id from Instana UI by going to an Application Perspective page. In the URL, there will be `appId=Av62RoIKQv-A3n6DbMQh9g`.
Alternatively, one can use `Get applications` API endpoint to get the application id in `id` parameter.
maxLength: 64
minLength: 0
contextScope:
type: string
description: |-
separate filtering and group by service id field
- upstream is filtered on destination service and groups on source service
- downstream is filtered on source service and groups on destination service
- none is filtered on destination service and no grouping
enum:
- NONE
- UPSTREAM
- DOWNSTREAM
metrics:
type: array
description: 'A list of objects each of which defines a metric and the (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': ''MEAN''}]`. To know more about supported metrics and its aggregation, See `Get Metric catalog`.'
items:
$ref: '#/components/schemas/AppDataMetricConfiguration'
maxItems: 5
minItems: 1
nameFilter:
type: string
description: 'filter by name with `contains` semantic. Eg: Let''s say there are 2 service names `ecomm-order` and `ecomm-deliver`, you can set `ecomm-` here to include the two Services.'
maxLength: 256
minLength: 0
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/Pagination'
serviceId:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
maxLength: 64
minLength: 0
technologies:
type: array
description: 'A list of technologies to be used for filtering data. For example, technologies could include AWS ECS, Cassandra, DB2, JVM, Kafka, etc. A full list of available technologies can be found in X.'
items:
type: string
description: 'A list of technologies to be used for filtering data. For example, technologies could include AWS ECS, Cassandra, DB2, JVM, Kafka, etc. A full list of available technologies can be found in X.'
maxItems: 20
minItems: 0
uniqueItems: true
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- metrics
GetSnapshotsQuery:
type: object
properties:
snapshotIds:
type: array
description: List of one or more snapshot ids.
items:
type: string
description: List of one or more snapshot ids.
maxItems: 1000
minItems: 0
uniqueItems: true
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- snapshotIds
GetTestResult:
type: object
properties:
applicationId:
type: string
maxLength: 64
minLength: 0
locationId:
type: array
items:
type: string
metrics:
type: array
items:
$ref: '#/components/schemas/SyntheticMetricConfiguration'
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/Pagination'
serviceId:
type: string
maxLength: 64
minLength: 0
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/TagFilter'
testId:
type: array
items:
type: string
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- metrics
GetTestResultAnalytic:
type: object
properties:
analyticFunction:
type: string
includeLocationIdGrouping:
type: boolean
writeOnly: true
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/Pagination'
syntheticMetrics:
type: array
items:
type: string
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/TagFilter'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- analyticFunction
- syntheticMetrics
GetTestResultBase:
type: object
properties:
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/Pagination'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/TagFilter'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
GetTestResultList:
type: object
properties:
applicationId:
type: string
maxLength: 64
minLength: 0
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/Pagination'
syntheticMetrics:
type: array
items:
type: string
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/TagFilter'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- syntheticMetrics
GetTestSummaryResult:
type: object
properties:
metrics:
type: array
items:
$ref: '#/components/schemas/SyntheticMetricConfiguration'
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/Pagination'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/TagFilter'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- metrics
GetTraceDownloadResultItem:
type: object
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
properties:
callCount:
type: integer
format: int64
description: Number of calls in a trace.
cursor:
$ref: '#/components/schemas/IngestionOffsetCursor'
destination:
$ref: '#/components/schemas/CallRelation'
duration:
type: integer
format: int64
description: 'The total time taken for the entire operation of a call, from the moment the request was initiated to when the response was received. The time measured is in milliseconds. This is also known as latency of a call.'
errorCount:
type: integer
format: int64
description: Represents whether the call is erroneous or not. 0 is not erroneous and 1 is erroneous.
foreignParentId:
type: string
id:
type: string
description: 'The call ID. A unique identifier for an individual call. For example: `1bcad5c82338deaf`.'
minSelfTime:
type: integer
format: int64
description: The smallest self time in the batch. May be null to indicate that `minSelfTime` is unknown when this node has only an exit span and no children. The time measured is in milliseconds.
name:
type: string
description: 'Name of the call. For example: `GET /articles/:id`.'
networkTime:
type: integer
format: int64
description: exit span duration - entry span duration
parentId:
type: string
description: 'The parent call id, referring to another call in the same trace which triggered the processing associated with this call.'
timestamp:
type: integer
format: int64
description: 'The timestamp when the call or request was initiated. For example, Unix epoch time in milliseconds `1735532879870` is `Monday, 30 December 2024 04:27:59.870 GMT`'
GetTraceGroups:
type: object
properties:
group:
$ref: '#/components/schemas/Group'
includeInternal:
type: boolean
description: Flag to include Internal Calls. These calls are work done inside a service and correspond to intermediate spans in custom tracing.
includeSynthetic:
type: boolean
description: 'Flag to include Synthetic Calls. These calls have a synthetic endpoint as their destination, such as calls to health-check endpoints.'
metrics:
type: array
description: 'A list of objects each of which defines a metric and the (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': ''MEAN''}]`. To know more about supported metrics and its aggregation, See `Get Metric catalog`.'
items:
$ref: '#/components/schemas/MetricConfig'
maxItems: 5
minItems: 1
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/CursorPagination'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/DeprecatedTagFilter'
maxItems: 32
minItems: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
required:
- group
- metrics
GetTraces:
type: object
properties:
includeInternal:
type: boolean
description: Flag to include Internal Calls. These calls are work done inside a service and correspond to intermediate spans in custom tracing.
includeSynthetic:
type: boolean
description: 'Flag to include Synthetic Calls. These calls have a synthetic endpoint as their destination, such as calls to health-check endpoints.'
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/CursorPagination'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/DeprecatedTagFilter'
maxItems: 32
minItems: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
GetWebsiteBeaconGroups:
type: object
properties:
group:
$ref: '#/components/schemas/WebsiteBeaconTagGroup'
metrics:
type: array
items:
$ref: '#/components/schemas/WebsiteMonitoringMetricsConfiguration'
maxItems: 5
minItems: 1
order:
$ref: '#/components/schemas/Order'
pagination:
$ref: '#/components/schemas/CursorPagination'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/DeprecatedTagFilter'
maxItems: 32
minItems: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
enum:
- PAGELOAD
- RESOURCELOAD
- HTTPREQUEST
- ERROR
- CUSTOM
- PAGE_CHANGE
required:
- group
- metrics
- type
GetWebsiteBeacons:
type: object
properties:
pagination:
$ref: '#/components/schemas/CursorPagination'
tagFilters:
type: array
items:
$ref: '#/components/schemas/DeprecatedTagFilter'
maxItems: 32
minItems: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
enum:
- PAGELOAD
- RESOURCELOAD
- HTTPREQUEST
- ERROR
- CUSTOM
- PAGE_CHANGE
required:
- type
GetWebsiteMetrics:
type: object
properties:
metrics:
type: array
items:
$ref: '#/components/schemas/WebsiteMonitoringMetricsConfiguration'
maxItems: 5
minItems: 1
tagFilters:
type: array
items:
$ref: '#/components/schemas/DeprecatedTagFilter'
maxItems: 32
minItems: 0
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
enum:
- PAGELOAD
- RESOURCELOAD
- HTTPREQUEST
- ERROR
- CUSTOM
- PAGE_CHANGE
required:
- metrics
- type
GetWebsiteMetricsV2:
type: object
properties:
metrics:
type: array
items:
$ref: '#/components/schemas/WebsiteMonitoringMetricsConfiguration'
maxItems: 5
minItems: 1
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
timeFrame:
$ref: '#/components/schemas/TimeFrame'
type:
type: string
enum:
- PAGELOAD
- RESOURCELOAD
- HTTPREQUEST
- ERROR
- CUSTOM
- PAGE_CHANGE
required:
- metrics
- type
GlobalApplicationAlertConfigWithMetadata:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
applicationIds:
type: array
description: IDs of the applications that this Smart Alert is applied to.
items:
type: string
description: IDs of the applications that this Smart Alert is applied to.
uniqueItems: true
applications:
type: object
additionalProperties:
$ref: '#/components/schemas/ApplicationNode'
description: 'Selection of applications, services, and endpoints that this Smart Alert configuration is associated with. This selection is connected to the defined `tagFilterExpression` by the logical `AND` operator.'
boundaryScope:
type: string
description: Determines the source of the application alert configuration. An `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers to both consumer and internally made calls.
enum:
- ALL
- INBOUND
builtIn:
type: boolean
description: 'Flag that indicates whether this configuration is a built-in Smart Alert. '
created:
type: integer
format: int64
description: Unix timestamp representing the creation time of this revision.
minimum: 1
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the application alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
enabled:
type: boolean
description: Flag to indicate whether or not the configuration is enabled.
evaluationType:
type: string
description: 'Determines whether calls of the aggregated metrics are grouped by the application, the service, or the endpoint. This also determines whether the resulting events are categorized as an issue on the respective entity of that group.'
enum:
- PER_AP
- PER_AP_SERVICE
- PER_AP_ENDPOINT
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
id:
type: string
description: ID of this Global Application Alert Configuration.
maxLength: 64
minLength: 0
includeInternal:
type: boolean
description: Flag to include Internal Calls. These calls are work done inside a service and correspond to intermediate spans in custom tracing.
includeSynthetic:
type: boolean
description: 'Flag to include Synthetic Calls. These calls have a synthetic endpoint as their destination, such as calls to health-check endpoints. '
initialCreated:
type: integer
format: int64
description: Unix timestamp representing the time of the initial revision.
minimum: 1
name:
type: string
description: Name of the application alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
readOnly:
type: boolean
description: Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config.
rule:
$ref: '#/components/schemas/ApplicationAlertRule'
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdApplicationAlertRule'
maxItems: 1
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
maximum: 10
minimum: 5
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/ApplicationTimeThreshold'
triggering:
type: boolean
description: Optional flag to indicate whether an Incident is also triggered or not.
required:
- alertChannelIds
- applications
- boundaryScope
- customPayloadFields
- description
- evaluationType
- granularity
- id
- name
- tagFilterExpression
- timeThreshold
GlobalApplicationsAlertConfig:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
applications:
type: object
additionalProperties:
$ref: '#/components/schemas/ApplicationNode'
description: 'Selection of applications, services, and endpoints that this Smart Alert configuration is associated with. This selection is connected to the defined `tagFilterExpression` by the logical `AND` operator.'
boundaryScope:
type: string
description: Determines the source of the application alert configuration. An `INBOUND` scope refers to consumer-made calls. An `ALL` scope refers to both consumer and internally made calls.
enum:
- ALL
- INBOUND
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the application alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
evaluationType:
type: string
description: 'Determines whether calls of the aggregated metrics are grouped by the application, the service, or the endpoint. This also determines whether the resulting events are categorized as an issue on the respective entity of that group.'
enum:
- PER_AP
- PER_AP_SERVICE
- PER_AP_ENDPOINT
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
includeInternal:
type: boolean
description: Flag to include Internal Calls. These calls are work done inside a service and correspond to intermediate spans in custom tracing.
includeSynthetic:
type: boolean
description: 'Flag to include Synthetic Calls. These calls have a synthetic endpoint as their destination, such as calls to health-check endpoints. '
name:
type: string
description: Name of the application alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
rule:
$ref: '#/components/schemas/ApplicationAlertRule'
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdApplicationAlertRule'
maxItems: 1
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
maximum: 10
minimum: 5
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/ApplicationTimeThreshold'
triggering:
type: boolean
description: Optional flag to indicate whether an Incident is also triggered or not.
required:
- alertChannelIds
- applications
- boundaryScope
- customPayloadFields
- description
- evaluationType
- granularity
- name
- tagFilterExpression
- timeThreshold
GoogleChatIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
webhookUrl:
type: string
required:
- id
- kind
- name
- webhookUrl
GraphEdge:
type: object
properties:
destination:
type: string
description: ID of the outgoing GraphEdge.
relation:
type: string
description: Type of dependency between the source and the destination.
enum:
- in
- is
- to
- of
- connected
- describes
- of20
- to20
- dummy
- parent
source:
type: string
description: ID of the incoming GraphEdge.
GraphNode:
type: object
properties:
data:
type: object
additionalProperties:
type: object
entityId:
$ref: '#/components/schemas/EntityId'
id:
type: string
description: GraphNode ID.
label:
type: string
description: Label of the entity
plugin:
type: string
description: Name of the plugin
Group:
type: object
description: ' Grouping of data under `groupbyTag`, where `groupbyTagEntity` and `groupbyTagSecondLevelKey` are aspects of `groupbyTag`.'
properties:
groupbyTag:
type: string
description: The name of the group tag (e.g. `agent.tag` or `docker.label`).
maxLength: 256
minLength: 0
groupbyTagEntity:
type: string
description: |
The entity by which the data should be grouped.
This field supports three possible values: `NOT_APPLICABLE`, `DESTINATION`, and `SOURCE`.
`SOURCE`: the tag filter should apply to the source entity.
`DESTINATION`: the tag filter should apply to the destination entity.
`NOT_APPLICABLE`: some tags are independent of source or destination, such as tags on the call itself, log tags or trace tags (only destination makes sense because the source is unknown for the root call).
enum:
- NOT_APPLICABLE
- DESTINATION
- SOURCE
groupbyTagSecondLevelKey:
type: string
description: 'If present, it''s the 2nd level key part (e.g. `customKey` on `docker.label.customKey`)'
maxLength: 256
minLength: 0
required:
- groupbyTag
- groupbyTagEntity
GroupByTag:
type: object
description: The grouping tags used to group the metric results.
properties:
key:
type: string
tagName:
type: string
required:
- tagName
GroupMapping:
type: object
properties:
groupId:
type: string
id:
type: string
maxLength: 64
minLength: 0
key:
type: string
maxLength: 65536
minLength: 0
teamId:
type: string
maxLength: 64
minLength: 5
value:
type: string
maxLength: 65536
minLength: 0
required:
- groupId
- key
- value
GroupMappingOverview:
type: object
properties:
id:
type: string
key:
type: string
role:
type: string
team:
type: string
value:
type: string
HealthState:
type: object
properties:
health:
type: string
enum:
- RED
- YELLOW
- GREEN
messages:
type: array
items:
type: string
HistoricBaseline:
type: object
allOf:
- $ref: '#/components/schemas/Threshold'
- type: object
properties:
baseline:
type: array
items:
type: array
items:
type: number
deviationFactor:
type: number
format: double
exclusiveMaximum: false
exclusiveMinimum: false
maximum: 16
minimum: 0.5
lastUpdated:
type: integer
format: int64
minimum: 0
seasonality:
type: string
enum:
- WEEKLY
- DAILY
required:
- operator
- seasonality
HostAvailabilityRule:
type: object
allOf:
- $ref: '#/components/schemas/AbstractRule'
- type: object
properties:
closeAfter:
type: integer
format: int64
maximum: 86400000
offlineDuration:
type: integer
format: int64
tagFilter:
$ref: '#/components/schemas/TagFilter'
HttpActionConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfiguration'
- type: object
properties:
allowInsecure:
type: boolean
body:
type: string
expectExists:
type: array
items:
type: string
expectJson:
$ref: '#/components/schemas/ContainerNode'
expectMatch:
type: string
expectNotEmpty:
type: array
items:
type: string
expectStatus:
type: integer
format: int32
followRedirect:
type: boolean
headers:
type: object
additionalProperties:
type: string
operation:
type: string
enum:
- DELETE
- GET
- HEAD
- OPTIONS
- PATCH
- POST
- PUT
url:
type: string
maxLength: 2047
minLength: 0
validationString:
type: string
required:
- markSyntheticCall
- syntheticType
- url
HttpActionConfigurationUpdate:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate'
- type: object
properties:
allowInsecure:
type: boolean
body:
type: string
expectExists:
$ref: '#/components/schemas/SyntheticResourceUpdateListStringListString'
expectJson:
$ref: '#/components/schemas/ContainerNode'
expectMatch:
type: string
expectNotEmpty:
$ref: '#/components/schemas/SyntheticResourceUpdateListStringListString'
expectStatus:
type: integer
format: int32
followRedirect:
type: boolean
headers:
$ref: '#/components/schemas/SyntheticResourceUpdateMapStringStringListString'
operation:
type: string
enum:
- DELETE
- GET
- HEAD
- OPTIONS
- PATCH
- POST
- PUT
url:
type: string
validationString:
type: string
HttpEndpointConfig:
type: object
properties:
endpointNameByCollectedPathTemplateRuleEnabled:
type: boolean
description: |
The highest default precedence of endpoint rule is creating endpoint is based on path template. For example,
```
/hospital/1948/patient/291148
/hospital/728/patient/924892
/hospital/47/patient/25978
/hospital/108429/patient/1847
```
can be considered as `/hospital/{hid}/patient/{pid}` if this rule is enabled. For most of the use cases, this rule should be enabled.
endpointNameByFirstPathSegmentRuleEnabled:
type: boolean
description: |
There are endpoint extraction rules in Instana which take the first path segment from the HTTP request and turn this into an endpoint name.
For example, given the following URLs `/users/123/profile` and `/users/123/settings`, the extraction rule will only take the first segment. As a result endpoint name will be `users`.
Although this is useful in cases where broad overview of monitoring is required, lot of use cases are more specified.
Considering the above example, if this rule is enabled, Instana can't distinguish between `profile` or `settings` as endpoints.
For use cases where endpoints has to be monitored at fine granular level, this flag should be set to `false`.
rules:
type: array
description: Specify custom rule configuration apart from Instana predefined rules. This rule has the highest precedence. This is only available for HTTP endpoints.
items:
$ref: '#/components/schemas/HttpEndpointRule'
maxItems: 500
minItems: 0
serviceId:
type: string
description: |
An Instana generated unique identifier for a Service. If specified, the list of results will be filtered for the specified Service ID. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
One can see the service id from Instana UI by going to a Service page. In the URL, there will be `serviceId=3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
Alternatively, one can use `Get services` API endpoint to get the service id in `id` parameter.
required:
- rules
- serviceId
HttpEndpointRule:
type: object
description: Specify custom rule configuration apart from Instana predefined rules. This rule has the highest precedence. This is only available for HTTP endpoints.
properties:
enabled:
type: boolean
description: Set this flag to `true` if custom rule configurations has to be considered.
pathSegments:
type: array
description: |+
A list of path segment matching rules, each defining how a segment of the HTTP path should be matched.
Each object in this array represents a segment rule, allowing for fixed segments, dynamic parameters, wildcards, or unsupported segments.
**UNSUPPORTED**: A path segment that is not recognized by the system.
**FIXED**: This type represents a static, unchanging part of the URL path.
For example, `/api/{version}/users`, `api` and `users` would be `FIXED` segment.
**PARAMETER**: This type represents a variable part of the URL path, often used to capture specific parameters or IDs that change with each request.
For example, `/api/{version}/users`, `version` would be `PARAMETER` segment. `version` can be `v1`, `v2`, `v3` etc.
**MATCH_ALL**: This type represents a wildcard, capturing all remaining segments from this point onward in the URL path.
For example, `/api/{version}/users/*` — Matches all paths like `/api/v1/users/123`. `/api/v3/users/456` etc.
items:
$ref: '#/components/schemas/HttpPathSegmentMatchingRule'
maxItems: 16
minItems: 1
testCases:
type: array
description: |
To validate whether the the defined custom endpoint rule configuration is working as expected.
For example, given a query `/api/*/{version}`, the following test case `/api/anyName/123` will match, while `/otherApi/anyName/123` will not.
items:
type: string
description: |
To validate whether the the defined custom endpoint rule configuration is working as expected.
For example, given a query `/api/*/{version}`, the following test case `/api/anyName/123` will match, while `/otherApi/anyName/123` will not.
maxItems: 32
minItems: 0
required:
- pathSegments
HttpPathSegmentMatchingRule:
type: object
description: |+
A list of path segment matching rules, each defining how a segment of the HTTP path should be matched.
Each object in this array represents a segment rule, allowing for fixed segments, dynamic parameters, wildcards, or unsupported segments.
**UNSUPPORTED**: A path segment that is not recognized by the system.
**FIXED**: This type represents a static, unchanging part of the URL path.
For example, `/api/{version}/users`, `api` and `users` would be `FIXED` segment.
**PARAMETER**: This type represents a variable part of the URL path, often used to capture specific parameters or IDs that change with each request.
For example, `/api/{version}/users`, `version` would be `PARAMETER` segment. `version` can be `v1`, `v2`, `v3` etc.
**MATCH_ALL**: This type represents a wildcard, capturing all remaining segments from this point onward in the URL path.
For example, `/api/{version}/users/*` — Matches all paths like `/api/v1/users/123`. `/api/v3/users/456` etc.
discriminator:
mapping:
FIXED: '#/components/schemas/FixedHttpPathSegmentMatchingRule'
MATCH_ALL: '#/components/schemas/MatchAllHttpPathSegmentMatchingRule'
PARAMETER: '#/components/schemas/PathParameterHttpPathSegmentMatchingRule'
UNSUPPORTED: '#/components/schemas/UnsupportedHttpPathSegmentMatchingRule'
propertyName: type
properties:
type:
type: string
enum:
- UNSUPPORTED
- FIXED
- PARAMETER
- MATCH_ALL
required:
- type
HttpScriptConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfiguration'
- type: object
properties:
fileName:
type: string
script:
type: string
maxLength: 1048576
minLength: 0
scriptType:
type: string
enum:
- Basic
- Jest
scripts:
$ref: '#/components/schemas/MultipleScriptsConfiguration'
required:
- markSyntheticCall
- syntheticType
HttpScriptConfigurationUpdate:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate'
- type: object
properties:
fileName:
type: string
script:
type: string
scriptType:
type: string
enum:
- Basic
- Jest
scripts:
$ref: '#/components/schemas/MultipleScriptsConfiguration'
HyperParam:
type: object
description: List of hyper parameters of the Built-in Event Specification
properties:
defaultValue:
type: number
format: double
description:
type: string
maxLength: 2048
minLength: 0
id:
type: string
maxLength: 64
minLength: 0
maxValue:
type: number
format: double
minValue:
type: number
format: double
name:
type: string
maxLength: 256
minLength: 0
valueFormat:
type: string
description: |
|
* NUMBER: Generic number
* BYTES: Number of bytes
* KILO_BYTES: Number of kilobytes
* MEGA_BYTES: Number of megabytes
* PERCENTAGE: Percentage in scale [0,1]
* PERCENTAGE_100: Percentage in scale [0,100]
* PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated
* PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated
* LATENCY: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms
* NANOS: Time in nanoseconds
* MILLIS: Time in milliseconds
* MICROS: Time in microseconds
* SECONDS: Time in seconds
* RATE: Number of occurrences per second
* BYTE_RATE: Number of bytes per second
* UNDEFINED: Metric value unit is not known
enum:
- NUMBER
- BYTES
- KILO_BYTES
- MEGA_BYTES
- PERCENTAGE
- PERCENTAGE_100
- PERCENTAGE_NO_CAPPING
- PERCENTAGE_100_NO_CAPPING
- LATENCY
- NANOS
- MILLIS
- MICROS
- SECONDS
- RATE
- BYTE_RATE
- UNDEFINED
required:
- description
- id
- name
IdentityProviderPatch:
type: object
properties:
restrictEmptyIdpGroups:
type: boolean
ImpactedBeaconInfo:
type: object
properties:
country:
type: string
label:
type: string
subdivision:
type: string
userEmail:
type: string
userName:
type: string
InfraAlertConfig:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the Infrastructure Smart Alert. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
evaluationType:
type: string
description: Determines whether we evaluate each infra entity independently or group of entities will be evaluated together.
enum:
- PER_ENTITY
- CUSTOM
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
groupBy:
type: array
description: The grouping tags used to group the metric results.
items:
type: string
description: The grouping tags used to group the metric results.
maxItems: 5
minItems: 0
name:
type: string
description: Name of the Infrastructure Smart Alert. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
rule:
$ref: '#/components/schemas/InfraAlertRule'
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdInfraAlertRule'
maxItems: 5
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/InfraTimeThreshold'
triggering:
type: boolean
description: Optional flag to indicate whether an Incident is also triggered or not.
required:
- customPayloadFields
- description
- granularity
- groupBy
- name
- tagFilterExpression
- timeThreshold
InfraAlertConfigWithMetadata:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
created:
type: integer
format: int64
minimum: 1
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the Infrastructure Smart Alert. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
enabled:
type: boolean
evaluationType:
type: string
description: Determines whether we evaluate each infra entity independently or group of entities will be evaluated together.
enum:
- PER_ENTITY
- CUSTOM
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
groupBy:
type: array
description: The grouping tags used to group the metric results.
items:
type: string
description: The grouping tags used to group the metric results.
maxItems: 5
minItems: 0
id:
type: string
maxLength: 64
minLength: 0
initialCreated:
type: integer
format: int64
minimum: 1
name:
type: string
description: Name of the Infrastructure Smart Alert. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
readOnly:
type: boolean
rule:
$ref: '#/components/schemas/InfraAlertRule'
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdInfraAlertRule'
maxItems: 5
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/InfraTimeThreshold'
triggering:
type: boolean
description: Optional flag to indicate whether an Incident is also triggered or not.
required:
- customPayloadFields
- description
- granularity
- groupBy
- id
- name
- tagFilterExpression
- timeThreshold
InfraAlertRule:
type: object
discriminator:
mapping:
genericRule: '#/components/schemas/GenericInfraAlertRule'
propertyName: alertType
properties:
aggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
alertType:
type: string
crossSeriesAggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
entityType:
type: string
metricGroupBy:
type: array
items:
type: string
metricName:
type: string
metricTagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
regex:
type: boolean
required:
- alertType
- metricName
InfraEventResult:
type: object
allOf:
- $ref: '#/components/schemas/EventResult'
- type: object
properties:
ibmMqFileTransfer:
type: array
description: 'IBM MQ file transfer information, if relevant for this entity and event.'
items:
type: object
additionalProperties:
type: object
description: 'IBM MQ file transfer information, if relevant for this entity and event.'
description: 'IBM MQ file transfer information, if relevant for this entity and event.'
snapshotId:
type: string
description: ID of the snapshot.
InfraExploreCursor:
type: object
description: cursor to use between successive queries
InfraMetricConfiguration:
type: object
oneOf:
- $ref: '#/components/schemas/SimpleMetricConfiguration'
- $ref: '#/components/schemas/ArithmeticConfiguration'
InfraSloEntity:
type: object
allOf:
- $ref: '#/components/schemas/SloEntity'
- type: object
properties:
infraType:
type: string
description: Infrastructure Type
required:
- infraType
InfraTimeThreshold:
type: object
description: The type of threshold to define the criteria when the event and alert triggers and resolves.
discriminator:
mapping:
violationsInSequence: '#/components/schemas/ViolationsInSequenceInfraTimeThreshold'
propertyName: type
properties:
timeWindow:
type: integer
format: int64
type:
type: string
required:
- type
InfrastructureEntitiesResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
canLoadMore:
type: boolean
items:
type: array
items:
$ref: '#/components/schemas/InfrastructureItem'
next:
$ref: '#/components/schemas/InfraExploreCursor'
totalHits:
type: integer
format: int64
description: represents the total number of results
minimum: 0
required:
- items
InfrastructureGroup:
type: object
description: group of infrastructure entities
properties:
count:
type: integer
format: int64
description: number of entities in this group
metrics:
type: object
additionalProperties:
type: array
description: 'map of metric keys to array of timestamp,value pairs'
items:
type: array
description: 'map of metric keys to array of timestamp,value pairs'
items:
type: number
description: 'map of metric keys to array of timestamp,value pairs'
description: 'map of metric keys to array of timestamp,value pairs'
pollRate:
type: integer
format: int64
description: max poll rate across this group
tags:
type: object
additionalProperties:
type: object
description: tag keys and values for this group
description: tag keys and values for this group
InfrastructureGroupsResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
canLoadMore:
type: boolean
items:
type: array
items:
$ref: '#/components/schemas/InfrastructureGroup'
next:
$ref: '#/components/schemas/InfraExploreCursor'
totalHits:
type: integer
format: int64
description: represents the total number of results
minimum: 0
required:
- items
InfrastructureItem:
type: object
properties:
entityHealthInfo:
$ref: '#/components/schemas/EntityHealthInfo'
label:
type: string
metrics:
type: object
additionalProperties:
type: array
items:
type: array
items:
type: number
plugin:
type: string
snapshotId:
type: string
tags:
type: object
additionalProperties:
type: string
time:
type: integer
format: int64
description: Epoch time in milliseconds if the snapshot is offline. Set to 9223372036854775807 if the snapshot is online.
InfrastructureMetricResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/MetricItem'
IngestionOffsetCursor:
type: object
description: Cursor to use between successive queries
InstanaVersionInfo:
type: object
properties:
branch:
type: string
commit:
type: string
imageTag:
type: string
IntegrationOverview:
type: object
properties:
id:
type: string
description: Unique ID of the alert channel
kind:
type: string
description: The type of the Alerting Channel.
name:
type: string
description: The name of the Alerting Channel.
properties:
type: object
additionalProperties:
type: string
description: Properties of the alert channel in pairs of key/value
description: Properties of the alert channel in pairs of key/value
rbacTags:
type: array
description: Team Tags that's assigned to the Alerting Channel
items:
$ref: '#/components/schemas/ApiTag'
uniqueItems: true
required:
- id
- kind
- name
Invitation:
type: object
properties:
email:
type: string
groupId:
type: string
message:
type: string
path:
type: string
required:
- email
- groupId
InvitationResponse:
type: object
properties:
invitationResults:
type: array
items:
$ref: '#/components/schemas/InvitationResult'
InvitationResult:
type: object
properties:
invitationStatus:
type: string
enum:
- SUCCESS
- INTERNAL_ERROR
- FAILURE_USER_ALREADY_EXISTS
- FAILURE_USER_ALREADY_INVITED
- FAILURE_ONLY_DEFAULT_GROUP_INVITATION_ALLOWED
- FAILURE_TENANT_IDP_CONFIGURED
userEmail:
type: string
IpMaskingConfiguration:
type: object
properties:
ipMasking:
type: string
enum:
- DEFAULT
- STRICT
- REMOVE_ALL_DETAILS
required:
- ipMasking
JsStackTraceLine:
type: object
properties:
column:
type: integer
format: int32
minimum: -1
file:
type: string
line:
type: integer
format: int32
minimum: -1
name:
type: string
translationExplanation:
type: string
translationStatus:
type: integer
format: int32
minimum: -1
required:
- file
Json:
type: object
JsonNode:
type: object
KubernetesPhysicalContext:
type: object
description: 'Contains physical context of Kubernetes which contains information about the cluster, namespace, node and pod.'
properties:
cluster:
$ref: '#/components/schemas/SnapshotPreview'
namespace:
$ref: '#/components/schemas/SnapshotPreview'
node:
$ref: '#/components/schemas/SnapshotPreview'
pod:
$ref: '#/components/schemas/SnapshotPreview'
LLMEgressGateway:
type: object
description: Custom handler definition.
properties:
aiModel:
type: string
configurations:
$ref: '#/components/schemas/JsonNode'
createdAt:
type: string
description:
type: string
enabled:
type: boolean
endpointApiKey:
type: string
endpointUrl:
type: string
id:
type: string
format: uuid
instanaAgents:
$ref: '#/components/schemas/JsonNode'
metadata:
$ref: '#/components/schemas/JsonNode'
modifiedAt:
type: string
name:
type: string
prompt:
type: string
supports:
$ref: '#/components/schemas/JsonNode'
system:
type: boolean
tenantUnitId:
type: string
watsonxKey:
type: string
watsonxProject:
type: string
watsonxUrl:
type: string
required:
- createdAt
- id
- modifiedAt
- name
- prompt
- supports
- tenantUnitId
LatencyBlueprintIndicator:
type: object
allOf:
- $ref: '#/components/schemas/ServiceLevelIndicator'
- type: object
properties:
threshold:
type: number
format: double
description: Threshold Value for the Blueprint
exclusiveMinimum: false
minimum: 0
required:
- type
LocationStatus:
type: object
properties:
locationDisplayLabel:
type: string
locationId:
type: string
successRate:
type: number
format: double
successRuns:
type: integer
format: int64
totalTestRuns:
type: integer
format: int64
required:
- locationId
LogAlertConfig:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the Log Smart Alert. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
groupBy:
type: array
description: The grouping tags used to group the metric results.
items:
$ref: '#/components/schemas/GroupByTag'
maxItems: 1
minItems: 0
name:
type: string
description: Name of the Log Smart Alert. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdLogAlertRule'
maxItems: 1
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/LogTimeThreshold'
required:
- description
- granularity
- name
- tagFilterExpression
- timeThreshold
LogAlertConfigWithMetadata:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
created:
type: integer
format: int64
minimum: 1
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the Log Smart Alert. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
enabled:
type: boolean
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
groupBy:
type: array
description: The grouping tags used to group the metric results.
items:
$ref: '#/components/schemas/GroupByTag'
maxItems: 1
minItems: 0
id:
type: string
maxLength: 64
minLength: 0
initialCreated:
type: integer
format: int64
minimum: 1
name:
type: string
description: Name of the Log Smart Alert. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
readOnly:
type: boolean
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdLogAlertRule'
maxItems: 1
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/LogTimeThreshold'
required:
- description
- granularity
- id
- name
- tagFilterExpression
- timeThreshold
LogAlertRule:
type: object
discriminator:
mapping:
logCount: '#/components/schemas/LogCountAlertRule'
propertyName: alertType
properties:
aggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
alertType:
type: string
metricName:
type: string
required:
- alertType
- metricName
LogCountAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/LogAlertRule'
required:
- metricName
LogEntryActor:
type: object
properties:
email:
type: string
id:
type: string
name:
type: string
type:
type: string
enum:
- USER
- API_TOKEN
- POLICY
required:
- id
- name
- type
LogEventResult:
type: object
allOf:
- $ref: '#/components/schemas/EventResult'
- type: object
properties:
snapshotId:
type: string
description: ID of the snapshot.
LogTimeThreshold:
type: object
description: The type of threshold to define the criteria when the event and alert triggers and resolves.
discriminator:
mapping:
violationsInSequence: '#/components/schemas/ViolationsInSequenceLogTimeThreshold'
propertyName: type
properties:
timeWindow:
type: integer
format: int64
type:
type: string
required:
- type
LogVolumeGroup:
type: object
properties:
label:
type: string
maxLength: 256
minLength: 0
logVolume:
type: integer
format: int64
required:
- label
- logVolume
LogVolumeUsageItem:
type: object
properties:
logVolume:
type: integer
format: int64
numberOfMonth:
type: integer
format: int32
maximum: 12
minimum: 1
retentionPeriods:
type: array
items:
$ref: '#/components/schemas/RetentionPeriod'
required:
- logVolume
- retentionPeriods
LogVolumeUsageResult:
type: object
properties:
logVolumeUsageItems:
type: array
items:
$ref: '#/components/schemas/LogVolumeUsageItem'
required:
- logVolumeUsageItems
LogsApplicationAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/ApplicationAlertRule'
- type: object
properties:
level:
type: string
enum:
- WARN
- ERROR
- ANY
loglevel:
type: string
enum:
- WARN
- ERROR
- ANY
writeOnly: true
message:
type: string
operator:
type: string
enum:
- EQUALS
- CONTAINS
- LESS_THAN
- LESS_OR_EQUAL_THAN
- GREATER_THAN
- GREATER_OR_EQUAL_THAN
- NOT_EMPTY
- NOT_EQUAL
- NOT_CONTAIN
- IS_EMPTY
- NOT_BLANK
- IS_BLANK
- STARTS_WITH
- ENDS_WITH
- NOT_STARTS_WITH
- NOT_ENDS_WITH
- REGEX_MATCH
required:
- level
- metricName
- operator
MaintenanceConfig:
type: object
properties:
id:
type: string
description: ID of the Maintenance Window Configuration.
maxLength: 64
minLength: 0
name:
type: string
description: Name of the Maintenance Window Configuration.
maxLength: 256
minLength: 0
query:
type: string
description: Dynamic Focus Query that determines the scope of the Maintenance Window configuration.
maxLength: 2048
minLength: 0
windows:
type: array
description: A set of time periods when the Maintenance Window Configuration is active.
items:
$ref: '#/components/schemas/MaintenanceWindow'
maxItems: 1
minItems: 0
uniqueItems: true
required:
- id
- name
- query
MaintenanceConfigScheduling:
type: object
description: Time scheduling of the Maintenance Window configurations.
discriminator:
mapping:
ONE_TIME: '#/components/schemas/OneTimeMaintenanceWindow'
RECURRENT: '#/components/schemas/RecurrentMaintenanceWindow'
propertyName: type
properties:
duration:
$ref: '#/components/schemas/Duration'
start:
type: integer
format: int64
minimum: 1
type:
type: string
maxLength: 2048
minLength: 0
required:
- duration
- start
- type
MaintenanceConfigV2:
type: object
properties:
id:
type: string
description: ID of the Maintenance Window configuration.
maxLength: 64
minLength: 0
name:
type: string
description: Name of the Maintenance Window configuration.
maxLength: 256
minLength: 0
paused:
type: boolean
description: Boolean flag to determine if the Maintenance Window configuration is paused or still live.
query:
type: string
description: Dynamic Focus Query that determines the scope of the Maintenance Window configuration.
maxLength: 2048
minLength: 0
retriggerOpenAlertsEnabled:
type: boolean
description: 'Boolean flag to determine if we should retrigger open alerts to be sent out for any events that opened during this maintenance window, and continues to remain open after the window expires'
scheduling:
$ref: '#/components/schemas/MaintenanceConfigScheduling'
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilterExpressionEnabled:
type: boolean
description: Boolean flag to determine if the tagFilterExpression is enabled.
required:
- id
- name
- query
- scheduling
MaintenanceConfigV2WithStateAndOccurrence:
type: object
properties:
id:
type: string
description: ID of the Maintenance Window configuration.
maxLength: 64
minLength: 0
lastUpdated:
type: integer
format: int64
minimum: 1
name:
type: string
description: Name of the Maintenance Window configuration.
maxLength: 256
minLength: 0
occurrence:
$ref: '#/components/schemas/Occurrence'
paused:
type: boolean
description: Boolean flag to determine if the Maintenance Window configuration is paused or still live.
query:
type: string
description: Dynamic Focus Query that determines the scope of the Maintenance Window configuration.
maxLength: 2048
minLength: 0
retriggerOpenAlertsEnabled:
type: boolean
description: 'Boolean flag to determine if we should retrigger open alerts to be sent out for any events that opened during this maintenance window, and continues to remain open after the window expires'
scheduling:
$ref: '#/components/schemas/MaintenanceConfigScheduling'
state:
type: string
description: 'State of the Maintenance Window, it can be: UNSCHEDULED, SCHEDULED, ACTIVE, PAUSED, EXPIRED.'
enum:
- UNSCHEDULED
- SCHEDULED
- ACTIVE
- PAUSED
- EXPIRED
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilterExpressionEnabled:
type: boolean
description: Boolean flag to determine if the tagFilterExpression is enabled.
required:
- id
- name
- occurrence
- query
- scheduling
MaintenanceConfigWithLastUpdated:
type: object
properties:
id:
type: string
description: ID of the Maintenance Window Configuration.
maxLength: 64
minLength: 0
lastUpdated:
type: integer
format: int64
minimum: 1
name:
type: string
description: Name of the Maintenance Window Configuration.
maxLength: 256
minLength: 0
query:
type: string
description: Dynamic Focus Query that determines the scope of the Maintenance Window configuration.
maxLength: 2048
minLength: 0
windows:
type: array
description: A set of time periods when the Maintenance Window Configuration is active.
items:
$ref: '#/components/schemas/MaintenanceWindow'
maxItems: 1
minItems: 0
uniqueItems: true
required:
- id
- name
- query
MaintenanceWindow:
type: object
description: A set of time periods when the Maintenance Window Configuration is active.
properties:
end:
type: integer
format: int64
minimum: 1
id:
type: string
maxLength: 64
minLength: 0
start:
type: integer
format: int64
minimum: 0
required:
- id
ManualAlertingChannelConfiguration:
type: object
properties:
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/StaticStringField'
maxItems: 20
minItems: 0
eventId:
type: string
description: Id of the event to be notified about.
maxLength: 256
minLength: 0
required:
- customPayloadFields
- eventId
ManualCloseInfo:
type: object
properties:
closeTimestamp:
type: integer
format: int64
description: The closing timestamp.
disableEvent:
type: boolean
description: Flag to indicate whether to disable the event.
eventIds:
type: array
description: 'The event IDs to manually close, in case of multi close.'
items:
type: string
description: 'The event IDs to manually close, in case of multi close.'
uniqueItems: true
muteAlerts:
type: boolean
description: Flag to indicate whether to mute alerts.
reasonForClosing:
type: string
description: The reason for manual closing.
username:
type: string
description: The user name.
maxLength: 256
minLength: 0
required:
- reasonForClosing
- username
ManualServiceConfig:
type: object
properties:
description:
type: string
description: A description of the manual service configuration.
enabled:
type: boolean
description: Enable or disable the manual service configuration. By default it is enabled.
existingServiceId:
type: string
description: The service ID of the existing monitored service to which the calls should be linked.
id:
type: string
description: A unique id of the manual service configuration.
maxLength: 128
minLength: 1
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
unmonitoredServiceName:
type: string
description: A service name if you want to map calls to an unmonitored service.
required:
- id
- tagFilterExpression
MatchAllHttpPathSegmentMatchingRule:
type: object
allOf:
- $ref: '#/components/schemas/HttpPathSegmentMatchingRule'
required:
- type
MatchExpressionDTO:
type: object
description: ' Specify the expression to match, For example, `endpoint.name contains health`.'
discriminator:
mapping:
BINARY_OP: '#/components/schemas/BinaryOperatorDTO'
LEAF: '#/components/schemas/TagMatcherDTO'
propertyName: type
properties:
type:
type: string
required:
- type
MetaData:
type: object
description: Action metadata.
properties:
ai:
type: array
description: List of metadata for AI originated actions.
items:
type: object
additionalProperties:
type: object
description: List of metadata for AI originated actions.
description: List of metadata for AI originated actions.
aiOriginated:
type: boolean
description: AI originated action flag. Value is `true` if action is AI generated `false` otherwise.
builtIn:
type: boolean
description: Built-in out of the box action flag. Value is `true` if built-in action `false` otherwise.
readOnly:
type: boolean
description: Read only action flag. Value is `true` if read only `false` otherwise.
sensorImported:
type: boolean
description: Sensor imported action flag. Value is `true` if action is imported from sensor `false` otherwise.
MetricAPIResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
metrics:
type: object
additionalProperties:
type: array
items:
type: array
items:
type: number
required:
- metrics
MetricConfig:
type: object
description: 'A list of objects each of which defines a metric and the (statistical) aggregation -- MEAN, SUM, MAX, etc -- that should be used to summarize it for the defined time frame. Eg: `[{ ''metric'': ''latency'', ''aggregation'': ''MEAN''}]`. To know more about supported metrics and its aggregation, See `Get Metric catalog`.'
properties:
aggregation:
type: string
description: 'Set aggregation that can be applied to a series of values. Eg: `MEAN`.'
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
granularity:
type: integer
format: int32
description: 'If the granularity is set you will get data points with the specified granularity in seconds. Default: `1000` milliseconds'
metric:
type: string
description: 'Set a particular metric, eg: `latency`.'
required:
- aggregation
- metric
MetricConfiguration:
type: object
description: 'Details regarding the metric to be configured, including the metric name, threshold, and aggregation method'
properties:
metricAggregation:
type: string
description: |
Specifies the types of aggregations that can be applied to a series of values.
For example, `P25` refers to the 25th percentile. Note that not all aggregation methods are available for every metric.
For instance, the `Call count` metric supports only the `SUM` aggregation, whereas the `Error rate` metric only supports the `MEAN` aggregation.
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
metricName:
type: string
description: Defines the name of the metric to be monitored. Examples include `calls` and `latency`
threshold:
type: number
format: double
description: Specifies the threshold value for the metric being monitored
exclusiveMinimum: true
minimum: 0
required:
- metricName
MetricDescription:
type: object
properties:
aggregations:
type: array
description: |
The types of aggregations that can be applied to a series of values.
For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics.
For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`.
items:
type: string
description: |
The types of aggregations that can be applied to a series of values.
For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics.
For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`.
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
uniqueItems: true
defaultAggregation:
type: string
description: 'The preselected aggregation for a metric. For example, for `Call latency` the default aggregation is `MEAN`.'
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
description:
type: string
description: 'A description of the metric. For example, for `Call count` metric, the description would be something like `Number of received calls`'
formatter:
type: string
description: |
* `NUMBER`: Generic number
* `BYTES`: Number of bytes
* `KILO_BYTES`: Number of kilobytes
* `MEGA_BYTES`: Number of megabytes
* `PERCENTAGE`: Percentage in scale [0,1]
* `PERCENTAGE_100`: Percentage in scale [0,100]
* `PERCENTAGE_NO_CAPPING`: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated
* `PERCENTAGE_100_NO_CAPPING`: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated
* `LATENCY`: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms
* `NANOS`: Time in nanoseconds
* `MILLIS`: Time in milliseconds
* `MICROS`: Time in microseconds
* `SECONDS`: Time in seconds
* `RATE`: Number of occurrences per second
* `BYTE_RATE`: Number of bytes per second
* `UNDEFINED`: Metric value unit is not known
label:
type: string
description: 'The name of the metric. For example, `Call count`, `Erroneous calls`, `Service count` etc.'
metricId:
type: string
description: 'The unique id of the metric. For example, `calls`, `erroneousCalls`, `latency` etc.'
required:
- aggregations
- formatter
- label
- metricId
MetricInstance:
type: object
properties:
custom:
type: boolean
description:
type: string
formatter:
type: string
description: |
|
* NUMBER: Generic number
* BYTES: Number of bytes
* KILO_BYTES: Number of kilobytes
* MEGA_BYTES: Number of megabytes
* PERCENTAGE: Percentage in scale [0,1]
* PERCENTAGE_100: Percentage in scale [0,100]
* PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated
* PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated
* LATENCY: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms
* NANOS: Time in nanoseconds
* MILLIS: Time in milliseconds
* MICROS: Time in microseconds
* SECONDS: Time in seconds
* RATE: Number of occurrences per second
* BYTE_RATE: Number of bytes per second
* UNDEFINED: Metric value unit is not known
enum:
- NUMBER
- BYTES
- KILO_BYTES
- MEGA_BYTES
- PERCENTAGE
- PERCENTAGE_100
- PERCENTAGE_NO_CAPPING
- PERCENTAGE_100_NO_CAPPING
- LATENCY
- NANOS
- MILLIS
- MICROS
- SECONDS
- RATE
- BYTE_RATE
- UNDEFINED
label:
type: string
metricId:
type: string
pluginId:
type: string
required:
- description
- formatter
- label
- metricId
- pluginId
MetricItem:
type: object
properties:
from:
type: integer
format: int64
description: Start of timeframe expressed as the Unix epoch time in milliseconds
host:
type: string
description: Host name
label:
type: string
description: Entitiy label
metrics:
type: object
additionalProperties:
type: array
items:
type: array
items:
type: number
plugin:
type: string
description: Plugin name
snapshotId:
type: string
description: 'Id of the exact metric you want to retrieve, eg. "cpu.user", "clientrequests.read.mean"'
tags:
type: array
description: Entitiy tags
items:
type: string
description: Entitiy tags
to:
type: integer
format: int64
description: End of timeframe expressed as the Unix epoch time in milliseconds
MetricMetadata:
type: object
properties:
category:
type: string
description: Category of the metric
crossSeriesAggregations:
type: array
description: Possible cross series aggregation the metric supports
items:
type: string
description: Possible cross series aggregation the metric supports
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
uniqueItems: true
description:
type: string
description: Description of the metric
format:
type: string
description: |
|
* NUMBER: Generic number
* BYTES: Number of bytes
* KILO_BYTES: Number of kilobytes
* MEGA_BYTES: Number of megabytes
* PERCENTAGE: Percentage in scale [0,1]
* PERCENTAGE_100: Percentage in scale [0,100]
* PERCENTAGE_NO_CAPPING: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated
* PERCENTAGE_100_NO_CAPPING: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated
* LATENCY: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms
* NANOS: Time in nanoseconds
* MILLIS: Time in milliseconds
* MICROS: Time in microseconds
* SECONDS: Time in seconds
* RATE: Number of occurrences per second
* BYTE_RATE: Number of bytes per second
* UNDEFINED: Metric value unit is not known
enum:
- NUMBER
- BYTES
- KILO_BYTES
- MEGA_BYTES
- PERCENTAGE
- PERCENTAGE_100
- PERCENTAGE_NO_CAPPING
- PERCENTAGE_100_NO_CAPPING
- LATENCY
- NANOS
- MILLIS
- MICROS
- SECONDS
- RATE
- BYTE_RATE
- UNDEFINED
id:
type: string
description: Identifier for the metric
infraTagCategory:
type: string
description: Category of the entity
enum:
- ACE
- ALICLOUD
- AWS
- AZURE
- CASSANDRA
- CLOUD_FOUNDRY
- CLR
- COCKROACH
- CONSUL
- CONTAINER
- COUCHBASE
- DFQ
- ELASTICSEARCH
- GCP
- HADOOP_YARN
- HAZELCAST
- IBM_CLOUD
- IBM_DATAPOWER
- IBM_I_SERIES
- IBM_MQ
- IBM_MQMFT
- IBM_OPENSTACK
- KAFKA_CONNECT
- KUBERNETES
- MONGO_DB
- OTHERS
- REDIS
- SAP
- SELF_MONITORING
- SOLR
- SPARK
- TIBCOBW
- TUXEDO
- VSHPERE
- WEBSPHERE
- CUSTOM_ENTITY
label:
type: string
description: Label for the metric
ownerType:
type: string
description: Type of the entity associated with the metric
tags:
type: array
description: Metric tags
items:
type: string
description: Metric tags
required:
- id
- infraTagCategory
- label
- ownerType
MetricPattern:
type: object
properties:
operator:
type: string
enum:
- is
- contains
- startsWith
- endsWith
- any
placeholder:
type: string
postfix:
type: string
prefix:
type: string
required:
- operator
- prefix
MetricQuery:
type: object
allOf:
- $ref: '#/components/schemas/ArithmeticOperand'
- type: object
properties:
aggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
writeOnly: true
crossSeriesAggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
writeOnly: true
granularity:
type: integer
format: int64
writeOnly: true
metric:
type: string
writeOnly: true
regex:
type: boolean
writeOnly: true
required:
type: boolean
writeOnly: true
MetricsResult:
type: object
properties:
metricsResult:
type: array
items:
$ref: '#/components/schemas/MetricsResultItem'
required:
- metricsResult
MetricsResultItem:
type: object
properties:
customTags:
type: object
additionalProperties:
type: string
description: A map of custom properties composed of the custom property name and its value. This information will be included if the custom properties were requested or if the query was grouped and the grouping included one or more custom properties.
description: A map of custom properties composed of the custom property name and its value. This information will be included if the custom properties were requested or if the query was grouped and the grouping included one or more custom properties.
metrics:
type: array
description: 'A map of the requested metrics, composed of the metric name and its value.'
items:
type: object
additionalProperties:
type: object
description: 'A map of the requested metrics, composed of the metric name and its value.'
description: 'A map of the requested metrics, composed of the metric name and its value.'
runType:
type: string
description: Indicates whether the test was scheduled to run or run now
tests:
type: array
description: A description of the Synthetic test associated with the result item. This information will be included if the request was grouped by synthetic.testId or if includeAggregatedTestId was true on the request.
items:
$ref: '#/components/schemas/MetricsTestResultItem'
required:
- metrics
MetricsTestResultItem:
type: object
description: A description of the Synthetic test associated with the result item. This information will be included if the request was grouped by synthetic.testId or if includeAggregatedTestId was true on the request.
properties:
applicationId:
type: string
description: An identifier of an application associated with the Synthetic test. This field is deprecated and will be replace by the applicationIds field.
applicationIds:
type: array
description: A list of the applications associated with the Synthetic test.
items:
type: string
description: A list of the applications associated with the Synthetic test.
locationId:
type: array
description: A list of the locations associated with the Synthetic test.
items:
type: string
description: A list of the locations associated with the Synthetic test.
mobileApplicationIds:
type: array
description: A list of the mobile applications associated with the Synthetic test.
items:
type: string
description: A list of the mobile applications associated with the Synthetic test.
serviceId:
type: string
description: A service associated with the Synthetic test.
testId:
type: string
description: The testId for the Synthetic test.
testName:
type: string
description: The Synthetic test's name.
websiteIds:
type: array
description: A list of the websites associated with the Synthetic test.
items:
type: string
description: A list of the websites associated with the Synthetic test.
required:
- testId
MobileApp:
type: object
properties:
id:
type: string
maxLength: 128
minLength: 0
name:
type: string
maxLength: 128
minLength: 0
required:
- id
- name
MobileAppAlertConfig:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
completeTagFilterExpression:
$ref: '#/components/schemas/TagFilterExpression'
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the mobile app alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
mobileAppId:
type: string
description: ID of the mobile app that this Smart Alert configuration is applied to.
maxLength: 64
minLength: 0
name:
type: string
description: Name of the mobile app alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
rule:
$ref: '#/components/schemas/MobileAppAlertRule'
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdMobileAppAlertRule'
maxItems: 1
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
maximum: 10
minimum: 5
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/MobileAppTimeThreshold'
triggering:
type: boolean
description: Optional flag to indicate whether an Incident is also triggered or not.
required:
- customPayloadFields
- description
- granularity
- mobileAppId
- name
- tagFilterExpression
- timeThreshold
MobileAppAlertRule:
type: object
discriminator:
mapping:
crash: '#/components/schemas/CrashMobileAppAlertRule'
customEvent: '#/components/schemas/CustomEventMobileAppAlertRule'
slowness: '#/components/schemas/SlownessMobileAppAlertRule'
statusCode: '#/components/schemas/StatusCodeMobileAppAlertRule'
throughput: '#/components/schemas/ThroughputMobileAppAlertRule'
propertyName: alertType
properties:
aggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
alertType:
type: string
metricName:
type: string
required:
- alertType
- metricName
MobileAppBeaconGroupsItem:
type: object
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
properties:
cursor:
$ref: '#/components/schemas/IngestionOffsetCursor'
earliestTimestamp:
type: integer
format: int64
minimum: 0
metrics:
type: object
additionalProperties:
type: array
items:
type: array
items:
type: number
name:
type: string
required:
- cursor
- metrics
- name
MobileAppBeaconGroupsResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
canLoadMore:
type: boolean
description: Determine if additional data is available when a new query is made using the cursor from the last item in the `items` list.
items:
type: array
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
items:
$ref: '#/components/schemas/MobileAppBeaconGroupsItem'
totalHits:
type: integer
format: int64
description: The total number of items that match a given filter
minimum: 0
totalRepresentedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, one row can represent multiple real items (batched call, sample multiplicity)'
minimum: 0
totalRetainedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, only a subset is retained for historic data. Each retained row can represent multiple real items due to batching.'
minimum: 0
required:
- items
MobileAppBeaconResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
canLoadMore:
type: boolean
description: Determine if additional data is available when a new query is made using the cursor from the last item in the `items` list.
items:
type: array
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
items:
$ref: '#/components/schemas/MobileAppBeaconsItem'
totalHits:
type: integer
format: int64
description: The total number of items that match a given filter
minimum: 0
totalRepresentedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, one row can represent multiple real items (batched call, sample multiplicity)'
minimum: 0
totalRetainedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, only a subset is retained for historic data. Each retained row can represent multiple real items due to batching.'
minimum: 0
required:
- items
MobileAppBeaconTagGroup:
type: object
properties:
groupbyTag:
type: string
description: The name of the group tag (e.g. `agent.tag` or `docker.label`).
maxLength: 256
minLength: 0
groupbyTagEntity:
type: string
description: |
The entity by which the data should be grouped.
This field supports three possible values: `NOT_APPLICABLE`, `DESTINATION`, and `SOURCE`.
`SOURCE`: the tag filter should apply to the source entity.
`DESTINATION`: the tag filter should apply to the destination entity.
`NOT_APPLICABLE`: some tags are independent of source or destination, such as tags on the call itself, log tags or trace tags (only destination makes sense because the source is unknown for the root call).
enum:
- NOT_APPLICABLE
- DESTINATION
- SOURCE
groupbyTagSecondLevelKey:
type: string
description: 'If present, it''s the 2nd level key part (e.g. `customKey` on `docker.label.customKey`)'
maxLength: 256
minLength: 0
required:
- groupbyTag
- groupbyTagEntity
MobileAppBeaconsItem:
type: object
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
properties:
beacon:
$ref: '#/components/schemas/MobileAppMonitoringBeacon'
cursor:
$ref: '#/components/schemas/IngestionOffsetCursor'
impactedBeaconInfo:
$ref: '#/components/schemas/ImpactedBeaconInfo'
required:
- beacon
- cursor
MobileAppEventResult:
type: object
allOf:
- $ref: '#/components/schemas/EventResult'
- type: object
properties:
mobileAppId:
type: string
description: ID of the mobile app.
MobileAppMetricResult:
type: object
properties:
empty:
type: boolean
MobileAppMonitoringBeacon:
type: object
properties:
accuracyRadius:
type: integer
format: int64
minimum: -1
agentVersion:
type: string
maxLength: 128
minLength: 0
appBuild:
type: string
maxLength: 128
minLength: 0
appVersion:
type: string
maxLength: 128
minLength: 0
appVersionNumber:
type: integer
format: int64
minimum: -1
availableMb:
type: integer
format: int64
minimum: -1
backendTraceId:
type: string
maxLength: 128
minLength: 0
batchSize:
type: integer
format: int64
minimum: 1
beaconId:
type: string
maxLength: 128
minLength: 0
bundleIdentifier:
type: string
maxLength: 128
minLength: 0
bytesIngested:
type: integer
format: int64
carrier:
type: string
maxLength: 256
minLength: 0
city:
type: string
maxLength: 256
minLength: 0
clockSkew:
type: integer
format: int64
minimum: 0
coldStartTimeMs:
type: integer
format: int64
minimum: -1
connectionType:
type: string
maxLength: 16
minLength: 0
continent:
type: string
maxLength: 256
minLength: 0
continentCode:
type: string
maxLength: 64
minLength: 0
country:
type: string
maxLength: 256
minLength: 0
countryCode:
type: string
maxLength: 64
minLength: 0
currentAppState:
type: string
maxLength: 24
minLength: 0
customEventName:
type: string
maxLength: 256
minLength: 0
customMetric:
type: number
format: double
decodedBodySize:
type: integer
format: int64
minimum: -1
deviceHardware:
type: string
maxLength: 128
minLength: 0
deviceManufacturer:
type: string
maxLength: 128
minLength: 0
deviceModel:
type: string
maxLength: 128
minLength: 0
dropView:
type: string
maxLength: 256
minLength: 0
duration:
type: integer
format: int64
minimum: 0
effectiveConnectionType:
type: string
maxLength: 16
minLength: 0
encodedBodySize:
type: integer
format: int64
minimum: -1
environment:
type: string
maxLength: 256
minLength: 0
errorCount:
type: integer
format: int64
minimum: 0
errorId:
type: string
maxLength: 128
minLength: 0
errorMessage:
type: string
maxLength: 16384
minLength: 0
errorType:
type: string
maxLength: 1024
minLength: 0
googlePlayServicesMissing:
type: boolean
hotStartTimeMs:
type: integer
format: int64
minimum: -1
httpCallHeaders:
type: object
additionalProperties:
type: string
httpCallMethod:
type: string
maxLength: 16
minLength: 0
httpCallOrigin:
type: string
maxLength: 1024
minLength: 0
httpCallPath:
type: string
maxLength: 4096
minLength: 0
httpCallStatus:
type: integer
format: int32
maximum: 599
minimum: -1
httpCallUrl:
type: string
maxLength: 4096
minLength: 0
ingestionTime:
type: integer
format: int64
minimum: 1
internalMeta:
type: object
additionalProperties:
type: string
label:
type: string
latitude:
type: number
format: double
longitude:
type: number
format: double
maxMb:
type: integer
format: int64
minimum: -1
meta:
type: object
additionalProperties:
type: string
mobileAppId:
type: string
maxLength: 64
minLength: 0
mobileAppLabel:
type: string
maxLength: 128
minLength: 0
osName:
type: string
maxLength: 128
minLength: 0
osVersion:
type: string
maxLength: 128
minLength: 0
parentBeaconId:
type: string
parsedStackTrace:
type: string
maxLength: 16384
minLength: 0
performanceSubtype:
type: string
maxLength: 24
minLength: 0
platform:
type: string
maxLength: 32
minLength: 0
rateLimitBeaconType:
type: string
maxLength: 128
minLength: 0
rateLimitCount:
type: integer
format: int64
minimum: 0
rateLimitCustomMetricVal:
type: array
items:
type: number
format: float
rateLimitTimeMax:
type: integer
format: int64
minimum: 0
rateLimitTimeMin:
type: integer
format: int64
minimum: 0
region:
type: string
maxLength: 256
minLength: 0
rooted:
type: boolean
sessionId:
type: string
maxLength: 128
minLength: 0
stackTrace:
type: string
maxLength: 16384
minLength: 0
stackTraceKeyChecksum:
type: string
maxLength: 128
minLength: 0
stackTraceKeyInformation:
type: string
maxLength: 1024
minLength: 0
stackTraceLine:
type: array
items:
$ref: '#/components/schemas/StackTraceLine'
maxItems: 128
minItems: 0
stackTraceParsingStatus:
type: integer
format: int32
minimum: -1
subdivision:
type: string
maxLength: 256
minLength: 0
subdivisionCode:
type: string
maxLength: 64
minLength: 0
tenant:
type: string
maxLength: 256
minLength: 0
timestamp:
type: integer
format: int64
minimum: 1
transferSize:
type: integer
format: int64
minimum: -1
type:
type: string
maxLength: 24
minLength: 0
unit:
type: string
maxLength: 256
minLength: 0
useFeatures:
type: array
items:
type: string
maxItems: 15
minItems: 0
usedMb:
type: integer
format: int64
minimum: -1
userEmail:
type: string
maxLength: 128
minLength: 0
userId:
type: string
maxLength: 128
minLength: 0
userIp:
type: string
maxLength: 45
minLength: 0
userLanguages:
type: array
items:
type: string
maxItems: 5
minItems: 0
userName:
type: string
maxLength: 128
minLength: 0
userSessionId:
type: string
maxLength: 128
minLength: 0
view:
type: string
maxLength: 256
minLength: 0
viewportHeight:
type: integer
format: int32
minimum: -1
viewportWidth:
type: integer
format: int32
minimum: -1
warmStartTimeMs:
type: integer
format: int64
minimum: -1
required:
- beaconId
- mobileAppId
- performanceSubtype
- rateLimitBeaconType
- type
MobileAppMonitoringMetricDescription:
type: object
properties:
aggregations:
type: array
description: |
The types of aggregations that can be applied to a series of values.
For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics.
For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`.
items:
type: string
description: |
The types of aggregations that can be applied to a series of values.
For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics.
For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`.
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
uniqueItems: true
beaconTypes:
type: array
items:
type: string
uniqueItems: true
defaultAggregation:
type: string
description: 'The preselected aggregation for a metric. For example, for `Call latency` the default aggregation is `MEAN`.'
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
description:
type: string
description: 'A description of the metric. For example, for `Call count` metric, the description would be something like `Number of received calls`'
formatter:
type: string
description: |
* `NUMBER`: Generic number
* `BYTES`: Number of bytes
* `KILO_BYTES`: Number of kilobytes
* `MEGA_BYTES`: Number of megabytes
* `PERCENTAGE`: Percentage in scale [0,1]
* `PERCENTAGE_100`: Percentage in scale [0,100]
* `PERCENTAGE_NO_CAPPING`: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated
* `PERCENTAGE_100_NO_CAPPING`: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated
* `LATENCY`: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms
* `NANOS`: Time in nanoseconds
* `MILLIS`: Time in milliseconds
* `MICROS`: Time in microseconds
* `SECONDS`: Time in seconds
* `RATE`: Number of occurrences per second
* `BYTE_RATE`: Number of bytes per second
* `UNDEFINED`: Metric value unit is not known
label:
type: string
description: 'The name of the metric. For example, `Call count`, `Erroneous calls`, `Service count` etc.'
metricId:
type: string
description: 'The unique id of the metric. For example, `calls`, `erroneousCalls`, `latency` etc.'
pathToValueInBeacon:
type: array
items:
type: string
maxItems: 2147483647
minItems: 1
secondaryBeaconTypes:
type: array
items:
type: string
uniqueItems: true
tagName:
type: string
required:
- aggregations
- beaconTypes
- formatter
- label
- metricId
MobileAppMonitoringMetricsConfiguration:
type: object
properties:
aggregation:
type: string
description: 'Set aggregation that can be applied to a series of values. Eg: `MEAN`.'
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
granularity:
type: integer
format: int32
description: 'If the granularity is set you will get data points with the specified granularity in seconds. Default: `1000` milliseconds'
metric:
type: string
description: 'Set a particular metric, eg: `latency`.'
numeratorTagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
required:
- aggregation
- metric
MobileAppTimeThreshold:
type: object
description: The type of threshold to define the criteria when the event and alert triggers and resolves.
discriminator:
mapping:
userImpactOfViolationsInSequence: '#/components/schemas/UserImpactMobileAppTimeThreshold'
violationsInPeriod: '#/components/schemas/ViolationsInPeriodMobileAppTimeThreshold'
violationsInSequence: '#/components/schemas/ViolationsInSequenceMobileAppTimeThreshold'
propertyName: type
properties:
timeWindow:
type: integer
format: int64
type:
type: string
required:
- type
MonitoredEntitiesStats:
type: object
description: Statistics of monitored entities.
properties:
hostCount:
type: integer
format: int32
otelCount:
type: integer
format: int32
serverlessCount:
type: integer
format: int32
MonitoringState:
type: object
properties:
hasEntities:
type: boolean
description: Has entities
hostCount:
type: integer
format: int32
description: Count of hosts
monitoredEntitiesStats:
$ref: '#/components/schemas/MonitoredEntitiesStats'
openTelemetryCount:
type: integer
format: int32
description: Count of open telemetry
serverlessCount:
type: integer
format: int32
description: Count of serverless
MultipleScriptsConfiguration:
type: object
properties:
bundle:
type: string
scriptFile:
type: string
Multiplication:
type: object
allOf:
- $ref: '#/components/schemas/ArithmeticOperation'
required:
- left
- right
NestedOperation:
type: object
allOf:
- $ref: '#/components/schemas/ArithmeticOperand'
- type: object
properties:
operation:
$ref: '#/components/schemas/ArithmeticOperation'
NewApplicationConfig:
type: object
properties:
accessRules:
type: array
description: |
Defines permissions and access relationships.
items:
$ref: '#/components/schemas/AccessRule'
maxItems: 64
minItems: 1
boundaryScope:
type: string
description: |
**INBOUND**: Inbound calls are calls initiated from outside the application and where the destination service is part of the selected application perspective.
**ALL**: Results and metrics for not only calls at the application perspective boundary, but also those occurring within the application perspective.
**DEFAULT**: Default value, for Application Perspectives created before the introduction of `ALL` and `INBOUND`.
At present, whenever new Application Perspectives are created, there are only 2 options to select: `ALL` or `INBOUND`.
It is recommended to use either `ALL` or `INBOUND` as `DEFAULT` is deprecated. `DEFAULT` is treated as `INBOUND`.
enum:
- ALL
- INBOUND
- DEFAULT
label:
type: string
description: 'Name of the Application Perspective. Eg: `app1`.'
maxLength: 128
minLength: 1
matchSpecification:
$ref: '#/components/schemas/MatchExpressionDTO'
scope:
type: string
description: |
**INCLUDE_NO_DOWNSTREAM** : Only the selected services from the filters are included (call this the core set).
This is useful when you treat the services as opaque.
An example would be the services that represent 3rd party APIs.
**INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING** : Include the core set of services from the filters and then expand this core set to include the database and messaging services that the core set directly interacts with.
This is useful if you are want to monitor a set of services and their direct dependencies.
For example, a development team responsible for several micro-services.
**INCLUDE_ALL_DOWNSTREAM** : It effortlessly and automatically includes all the services that form the entire end-to-end dependency chain of the core set of services.
This is useful if the AP will be used for troubleshooting.
enum:
- INCLUDE_NO_DOWNSTREAM
- INCLUDE_IMMEDIATE_DOWNSTREAM_DATABASE_AND_MESSAGING
- INCLUDE_ALL_DOWNSTREAM
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
required:
- accessRules
- boundaryScope
- label
- scope
NewBusinessPerspectiveConfig:
type: object
properties:
description:
type: string
maxLength: 300
minLength: 0
name:
type: string
maxLength: 100
minLength: 0
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
NewManualServiceConfig:
type: object
properties:
description:
type: string
description: A description of the manual service configuration.
enabled:
type: boolean
description: Enable or disable the manual service configuration. By default it is enabled.
existingServiceId:
type: string
description: The service ID of the existing monitored service to which the calls should be linked.
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
unmonitoredServiceName:
type: string
description: A service name if you want to map calls to an unmonitored service.
required:
- tagFilterExpression
OAuthConfig:
type: object
properties:
additionalParameters:
type: object
additionalProperties:
type: string
clientId:
type: string
clientSecret:
type: string
grantType:
type: string
enum:
- CLIENT_CREDENTIALS
- PASSWORD
password:
type: string
writeOnly: true
tokenUrl:
type: string
username:
type: string
writeOnly: true
required:
- clientId
- clientSecret
- tokenUrl
OAuthIntegration:
type: object
properties:
config:
$ref: '#/components/schemas/OAuthConfig'
token:
$ref: '#/components/schemas/OAuthToken'
OAuthToken:
type: object
properties:
accessToken:
type: string
createdAt:
type: string
format: date-time
expiresAt:
type: string
format: date-time
refreshToken:
type: string
status:
type: string
enum:
- VALID
- INVALID
tokenType:
type: string
valid:
type: boolean
Occurrence:
type: object
description: Time window of the Maintence Window configuration occurrences.
properties:
end:
type: integer
format: int64
minimum: 1
start:
type: integer
format: int64
minimum: 0
Office365Integration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
webhookUrl:
type: string
required:
- id
- kind
- name
- webhookUrl
OneTimeMaintenanceWindow:
type: object
allOf:
- $ref: '#/components/schemas/MaintenanceConfigScheduling'
required:
- duration
- start
- type
OpsgenieIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
alias:
type: string
apiKey:
type: string
region:
type: string
enum:
- US
- EU
tags:
type: string
required:
- apiKey
- id
- kind
- name
- region
Order:
type: object
description: |
Specifies the ordering of the results.
It contains fields that define the sorting criteria, the collation for sorting, and the direction in which the results should be ordered.
properties:
by:
type: string
description: If the granularity is set to `1` you can use the metric name eg. `latency.p95` to order by that value.
collation:
type: string
description: Language code used for sorting. Ignored for infrastructure queries.
direction:
type: string
description: 'The order in which results will be sorted, either `ASC` for ascending or `DESC` for descending.'
enum:
- ASC
- DESC
required:
- by
- direction
PagerdutyIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
serviceIntegrationKey:
type: string
required:
- id
- kind
- name
- serviceIntegrationKey
PaginatedResult:
type: object
properties:
items:
type: array
items:
type: object
page:
type: integer
format: int32
description: Page Number
minimum: 1
pageSize:
type: integer
format: int32
minimum: 1
totalHits:
type: integer
format: int64
minimum: 0
required:
- items
Pagination:
type: object
properties:
page:
type: integer
format: int32
description: 'Page number for a specific page in the results. For example, if you''d like to retrieve the 5th page out of 10 pages, the value would be 5.'
minimum: 1
pageSize:
type: integer
format: int32
description: 'Set the number of items you want to return with one query. Eg: if you want to retrieve 10 items, the value would be 10.'
maximum: 200
minimum: 1
Parameter:
type: object
description: List of inputs to the action.
properties:
description:
type: string
description: Parameter description.
hidden:
type: boolean
description: Is parameter hidden or not.
label:
type: string
description: Parameter label.
name:
type: string
description: Parameter name.
required:
type: boolean
description: Is parameter required or not.
secured:
type: boolean
description: Is parameter secured or not.
type:
type: string
description: 'Parameter type. Valid values are `static`, `dynamic`, or `vault`. Default value is `static`'
value:
type: string
description: Parameter value.
required:
- label
- name
- type
ParameterValue:
type: object
description: List of action input parameters.
properties:
name:
type: string
description: Parameter name.
value:
type: string
description: Parameter value.
required:
- name
- value
PathParameterHttpPathSegmentMatchingRule:
type: object
allOf:
- $ref: '#/components/schemas/HttpPathSegmentMatchingRule'
- type: object
properties:
name:
type: string
description: |
Given `/api/{version}/users` URI, `PARAMETER` name is `version`.
required:
- name
- type
PhysicalContext:
type: object
description: |
The physical context of an entity. This is typically used to describe where a host, container or process fits into the infrastructure.
1. `cloudfoundry`: Contains physical context of Cloudfoundry.
2. `cluster`: Contains physical context of cluster like Hazelcast, Elasticsearch.
3. `container`: Contains physical context of container.
4. `host`: Contains physical context of host.
5. `kubernetes`: Contains physical context of Kubernetes.
6. `process`: Contains physical context of a process.
properties:
cloudfoundry:
$ref: '#/components/schemas/CloudfoundryPhysicalContext'
cluster:
$ref: '#/components/schemas/SnapshotPreview'
container:
$ref: '#/components/schemas/SnapshotPreview'
host:
$ref: '#/components/schemas/SnapshotPreview'
kubernetes:
$ref: '#/components/schemas/KubernetesPhysicalContext'
process:
$ref: '#/components/schemas/SnapshotPreview'
PluginResult:
type: object
properties:
label:
type: string
description: Plugin name
plugin:
type: string
description: Plugin ID
Policy:
type: object
properties:
description:
type: string
description: Policy description.
maxLength: 512
minLength: 0
id:
type: string
description: Policy identifier.
maxLength: 128
minLength: 1
readOnly: true
name:
type: string
description: Policy name.
maxLength: 128
minLength: 1
tags:
type: array
description: A list of policy tags.
items:
type: string
description: A list of policy tags.
trigger:
$ref: '#/components/schemas/Trigger'
typeConfigurations:
type: array
description: List of configurations that contains the list of actions to run and the mode (automatic or manual) in which the policy is run.
items:
$ref: '#/components/schemas/TypeConfiguration'
required:
- id
- name
- trigger
- typeConfigurations
PolicyRunnable:
type: object
description: Runnable associated with the policy. It can be a `workflow` or `action`. Currently only supports `action`.
properties:
id:
type: string
description: Action identifier.
runConfiguration:
$ref: '#/components/schemas/RunConfiguration'
type:
type: string
description: Type of runnable. Supported value is `action`.
enum:
- action
- workflow
required:
- id
- runConfiguration
- type
PolicyScheduling:
type: object
description: Scheduling information for a scheduled policy.
properties:
recurrentRule:
type: string
description: 'Recurrent Rule defines how the policy recurs, using iCalendar RRULE format (e.g., `FREQ=DAILY;INTERVAL=1`).It supports fields like FREQ, INTERVAL, BYDAY. Refer to RFC 5545: https://datatracker.ietf.org/doc/html/rfc5545#section-3.3.10'
startTime:
type: string
format: date-time
description: 'The time to run the policy action in milliseconds since epoch (UTC) (e.g., `1706713140000`).'
required:
- startTime
PostSnapshotsResult:
type: object
properties:
items:
type: array
description: Detail information for requested snapshots.
items:
$ref: '#/components/schemas/SnapshotItem'
notFoundSnapshotsIds:
type: array
description: Snapshot ids for snapshots that could not be retrieved.
items:
type: string
description: Snapshot ids for snapshots that could not be retrieved.
Problem:
type: object
properties:
fixSuggestion:
type: string
maxLength: 65536
minLength: 0
id:
type: string
maxLength: 64
minLength: 0
problemText:
type: string
maxLength: 2048
minLength: 0
severity:
type: integer
format: int32
required:
- id
PrometheusWebhookIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
receiver:
type: string
webhookUrl:
type: string
required:
- id
- kind
- name
- webhookUrl
RecurrentMaintenanceWindow:
type: object
allOf:
- $ref: '#/components/schemas/MaintenanceConfigScheduling'
- type: object
properties:
rrule:
type: string
timezoneId:
type: string
required:
- duration
- rrule
- start
- type
Release:
type: object
properties:
applications:
type: array
description: The list of application perspectives where the release can be viewed.
items:
$ref: '#/components/schemas/ApplicationScope'
maxItems: 10
minItems: 0
name:
type: string
description: 'The name of the release. For example: `frontend/release-2000`.'
maxLength: 256
minLength: 0
services:
type: array
description: The list of services where the release can be viewed.
items:
$ref: '#/components/schemas/ServiceScope'
maxItems: 10
minItems: 0
start:
type: integer
format: int64
description: 'The timestamp for when the release is created. The time measured is in milliseconds. For example: `1742349976000` is `Wednesday, 19 March 2025 02:06:16 GMT`.'
minimum: 1
required:
- name
- start
ReleaseScope:
type: object
properties:
applicationId:
type: string
applicationName:
type: string
serviceId:
type: string
serviceName:
type: string
ReleaseWithMetadata:
type: object
properties:
applications:
type: array
description: The list of application perspectives where the release can be viewed.
items:
$ref: '#/components/schemas/ApplicationScopeWithMetadata'
maxItems: 10
minItems: 0
id:
type: string
description: 'A unique id for a release. For example: `l1wgr3DsQkGLf8u18JiGsg`.'
maxLength: 64
minLength: 0
lastUpdated:
type: integer
format: int64
description: 'The timestamp for when the same release is updated. The time measured is in milliseconds. For example: `1742369990000` is `Wednesday, 19 March 2025 07:39:50 GMT`.'
minimum: 1
name:
type: string
description: 'The name of the release. For example: `frontend/release-2000`.'
maxLength: 256
minLength: 0
scopes:
type: array
items:
$ref: '#/components/schemas/ReleaseScope'
writeOnly: true
services:
type: array
description: The list of services where the release can be viewed.
items:
$ref: '#/components/schemas/ServiceScopeWithMetadata'
maxItems: 10
minItems: 0
start:
type: integer
format: int64
description: 'The timestamp for when the release is created. The time measured is in milliseconds. For example: `1742349976000` is `Wednesday, 19 March 2025 02:06:16 GMT`.'
minimum: 1
required:
- id
- name
RetentionPeriod:
type: object
properties:
logVolume:
type: integer
format: int64
logVolumeGroups:
type: array
items:
$ref: '#/components/schemas/LogVolumeGroup'
retentionDays:
type: integer
format: int32
maximum: 90
minimum: 7
required:
- logVolume
RollingTimeWindow:
type: object
allOf:
- $ref: '#/components/schemas/TimeWindow'
required:
- duration
- durationUnit
RuleInput:
type: object
description: List of input rules of the Built-in Event Specification
properties:
inputKind:
type: string
enum:
- METRIC
- SNAPSHOT_FIELD
- EVENT
- DERIVED_METRIC
- METRIC_PATTERN
inputName:
type: string
maxLength: 256
minLength: 0
required:
- inputKind
- inputName
RuleWithThresholdApplicationAlertRule:
type: object
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
properties:
rule:
$ref: '#/components/schemas/ApplicationAlertRule'
thresholdOperator:
type: string
enum:
- '>'
- '>='
- <
- <=
thresholds:
type: object
additionalProperties:
$ref: '#/components/schemas/ThresholdConfigRule'
required:
- rule
- thresholdOperator
- thresholds
RuleWithThresholdInfraAlertRule:
type: object
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
properties:
rule:
$ref: '#/components/schemas/InfraAlertRule'
thresholdOperator:
type: string
enum:
- '>'
- '>='
- <
- <=
thresholds:
type: object
additionalProperties:
$ref: '#/components/schemas/ThresholdConfigRule'
required:
- rule
- thresholdOperator
- thresholds
RuleWithThresholdLogAlertRule:
type: object
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
properties:
rule:
$ref: '#/components/schemas/LogAlertRule'
thresholdOperator:
type: string
enum:
- '>'
- '>='
- <
- <=
thresholds:
type: object
additionalProperties:
$ref: '#/components/schemas/ThresholdConfigRule'
required:
- rule
- thresholdOperator
- thresholds
RuleWithThresholdMobileAppAlertRule:
type: object
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
properties:
rule:
$ref: '#/components/schemas/MobileAppAlertRule'
thresholdOperator:
type: string
enum:
- '>'
- '>='
- <
- <=
thresholds:
type: object
additionalProperties:
$ref: '#/components/schemas/ThresholdConfigRule'
required:
- rule
- thresholdOperator
- thresholds
RuleWithThresholdWebsiteAlertRule:
type: object
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
properties:
rule:
$ref: '#/components/schemas/WebsiteAlertRule'
thresholdOperator:
type: string
enum:
- '>'
- '>='
- <
- <=
thresholds:
type: object
additionalProperties:
$ref: '#/components/schemas/ThresholdConfigRule'
required:
- rule
- thresholdOperator
- thresholds
RunConfiguration:
type: object
description: Action run configuration.
properties:
actions:
type: array
description: List of action configurations.
items:
$ref: '#/components/schemas/ActionConfiguration'
required:
- actions
SLOConfigWithRBACTag:
type: object
properties:
createdDate:
type: string
format: date-time
description: Created date of Service Levels Objective Configuration
entity:
$ref: '#/components/schemas/SloEntity'
id:
type: string
description: Service Levels Objective Configuration ID
maxLength: 64
minLength: 0
indicator:
$ref: '#/components/schemas/ServiceLevelIndicator'
lastUpdated:
type: string
format: date-time
description: Last updated date of Service Levels Objective Configuration
name:
type: string
description: Name of the Service Levels Objective Configuration
rbacTags:
type: array
items:
$ref: '#/components/schemas/ApiTag'
uniqueItems: true
tags:
type: array
description: List of tags associated with Service Levels Objective Configuration
items:
type: string
description: List of tags associated with Service Levels Objective Configuration
target:
type: number
format: double
description: Service Levels Objective Configuration Target
exclusiveMaximum: false
exclusiveMinimum: true
maximum: 0.9999
minimum: 0
timeWindow:
$ref: '#/components/schemas/TimeWindow'
required:
- entity
- indicator
- name
- tags
- target
- timeWindow
SSLCertificateConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfiguration'
- type: object
properties:
acceptSelfSignedCertificate:
type: boolean
daysRemainingCheck:
type: integer
format: int32
maximum: 365
minimum: 1
hostname:
type: string
maxLength: 2047
minLength: 0
port:
type: integer
format: int32
validationRules:
type: array
items:
$ref: '#/components/schemas/SSLCertificateValidation'
required:
- daysRemainingCheck
- hostname
- markSyntheticCall
- syntheticType
SSLCertificateConfigurationUpdate:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate'
- type: object
properties:
acceptSelfSignedCertificate:
type: boolean
daysRemainingCheck:
type: integer
format: int32
hostname:
type: string
port:
type: integer
format: int32
validationRules:
$ref: '#/components/schemas/SyntheticResourceUpdateListSSLCertificateValidationListSSLCertificateValidation'
SSLCertificateValidation:
type: object
properties:
key:
type: string
operator:
type: string
enum:
- CONTAINS
- EQUALS
- GREATER_THAN
- IS
- LESS_THAN
- MATCHES
- NOT_MATCHES
value:
type: object
required:
- key
- operator
- value
SalesforceIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
bearerToken:
type: string
clientId:
type: string
clientSecret:
type: string
salesforceUrl:
type: string
required:
- clientId
- clientSecret
- id
- kind
- name
- salesforceUrl
SaturationBlueprintIndicator:
type: object
allOf:
- $ref: '#/components/schemas/ServiceLevelIndicator'
- type: object
properties:
metricName:
type: string
threshold:
type: number
format: double
description: Threshold Value for the Blueprint
exclusiveMinimum: false
minimum: 0
required:
- type
ScopeBinding:
type: object
properties:
scopeId:
type: string
maxLength: 64
minLength: 0
scopeRoleId:
type: string
maxLength: 64
minLength: 0
SearchFieldResult:
type: object
properties:
context:
type: string
description: Field context
enum:
- entities
- events
- applications
- services
- endpoints
- appdata_shared
- default_field
example: 'Entity data, trace data, even data'
description:
type: string
description: Description of the keyword
fixedValues:
type: array
description: Fixed value associated to the keyword
items:
type: string
description: Fixed value associated to the keyword
keyword:
type: string
description: Retrieved keyword
termType:
type: string
description: Term type
enum:
- string
- long
- double
- bool
- key_value
- id
Service:
type: object
properties:
entityType:
type: string
description: 'Since, this is a Service, it will be of type `SERVICE`.'
enum:
- APPLICATION
- SERVICE
- ENDPOINT
id:
type: string
description: 'Unique ID of the Service. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.'
label:
type: string
description: 'Name of the Service. Eg: `payment`.'
snapshotIds:
type: array
description: A unique identifier the metrics are assigned to.
items:
type: string
description: A unique identifier the metrics are assigned to.
uniqueItems: true
technologies:
type: array
description: 'List of technologies: `Eg:["springbootApplicationContainer"]`'
items:
type: string
description: 'List of technologies: `Eg:["springbootApplicationContainer"]`'
uniqueItems: true
types:
type: array
description: 'Shows types of Endpoints a Service can consist of. It may be one or more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service.'
items:
type: string
description: 'Shows types of Endpoints a Service can consist of. It may be one or more. Eg: `HTTP` `OPENTELEMETRY` can be in 1 Service.'
enum:
- UNDEFINED
- RPC
- EVENT
- GRAPHQL
- BATCH
- SHELL
- HTTP
- SDK
- OPENTELEMETRY
- INTERNAL
- DATABASE
- MESSAGING
- PAGE
- PAGE_RESOURCE
uniqueItems: true
required:
- id
- label
- snapshotIds
- technologies
- types
ServiceConfig:
type: object
properties:
comment:
type: string
description: |
A small description of the service configuration would be present in this field if it was provided during creation of the custom service rule.
If it was not provided, this field will remain empty. It is considered as best practice to add a comment to document the reasoning behind creating the rule.
maxLength: 2048
minLength: 0
enabled:
type: boolean
description: 'If enabled, calls will be mapped to the rule.'
id:
type: string
description: 'A unique string for the service configuration. Eg: `G510hmXYSDysLZ5kuj0BaQ`'
label:
type: string
description: |
It contains the tags defined in `matchSpecification` concatenated with a dash.
Eg: if the `matchSpecification` contains keys `kubernetes.namespace.name` and `docker.label`, `label` would be `kubernetes.namespace.name-docker.label`.
matchSpecification:
type: array
description: Calls will be matched with the array of key-value tags present in this field.
items:
$ref: '#/components/schemas/ServiceMatchingRule'
maxItems: 20
minItems: 0
name:
type: string
description: 'The name of the service configuration. Eg: `Rule ABC`'
maxLength: 128
minLength: 1
required:
- enabled
- id
- label
- matchSpecification
- name
ServiceEventResult:
type: object
allOf:
- $ref: '#/components/schemas/EventResult'
- type: object
properties:
applicationId:
type: string
description: ID of the application this service is in scope of.
serviceId:
type: string
description: ID of the service.
ServiceItem:
type: object
properties:
metrics:
type: object
additionalProperties:
type: array
items:
type: array
items:
type: number
service:
$ref: '#/components/schemas/Service'
required:
- metrics
- service
ServiceLevelIndicator:
type: object
description: 'Indicator of the Service Levels Objective Configuration, it indicates the type of metric by which the SLO should be evaluated'
discriminator:
mapping:
availability: '#/components/schemas/AvailabilityBlueprintIndicator'
custom: '#/components/schemas/CustomBlueprintIndicator'
latency: '#/components/schemas/LatencyBlueprintIndicator'
saturation: '#/components/schemas/SaturationBlueprintIndicator'
traffic: '#/components/schemas/TrafficBlueprintIndicator'
propertyName: blueprint
properties:
aggregation:
type: string
description: Aggregation Type for the Threshold Value
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
blueprint:
type: string
enum:
- latency
- availability
- traffic
- saturation
- custom
operator:
type: string
description: Operator for the Threshold Value
enum:
- '>'
- '>='
- <
- <=
serviceLevelsMeasurement:
type: string
description: Defines Measurement Type of SLO
enum:
- eventBased
- timeBased
- erroneous
- all
threshold:
type: number
format: double
description: Threshold Value for the Blueprint
type:
type: string
enum:
- eventBased
- timeBased
ServiceLevelObjectiveAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/ServiceLevelsAlertRule'
- type: object
properties:
metric:
type: string
description: This is the service levels metric type. Service levels objective alerts using status metric.
enum:
- STATUS
ServiceLevelsAlertConfig:
type: object
properties:
alertChannelIds:
type: array
description: This is the list of channel IDs when alert triggered and sent to.
items:
type: string
description: This is the list of channel IDs when alert triggered and sent to.
maxItems: 1024
minItems: 0
uniqueItems: true
burnRateConfig:
type: array
description: This is the burn rate alert configuration which defines alerting windows and corresponding thresholds. This configuration must to specified for BURN_RATE_V2 Alerts.
items:
$ref: '#/components/schemas/ServiceLevelsBurnRateConfig'
uniqueItems: true
burnRateTimeWindows:
$ref: '#/components/schemas/ServiceLevelsBurnRateTimeWindows'
customPayloadFields:
type: array
description: This is the custom name and value pairs to be sent along with the alert to the alert channels.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: The description of the alert. It is also the alert message content.
maxLength: 65536
minLength: 0
name:
type: string
description: Name of the Service Levels Smart Alerts Configuration.
maxLength: 256
minLength: 0
rule:
$ref: '#/components/schemas/ServiceLevelsAlertRule'
severity:
type: integer
format: int32
description: 'This is the severity of the alert. The value can be: 5: warning, 10: critical.'
sloIds:
type: array
description: This is the list of SLO configurations related to this alert.
items:
type: string
description: This is the list of SLO configurations related to this alert.
maxItems: 1024
minItems: 0
uniqueItems: true
threshold:
$ref: '#/components/schemas/StaticThreshold'
timeThreshold:
$ref: '#/components/schemas/ServiceLevelsTimeThreshold'
triggering:
type: boolean
description: 'Incident flag. If value is true, this alert will become an accident.'
required:
- alertChannelIds
- customPayloadFields
- description
- name
- rule
- severity
- sloIds
- timeThreshold
ServiceLevelsAlertRule:
type: object
description: This is the service levels alert type. It could be error budget alert or service levels object alert.
discriminator:
mapping:
ERROR_BUDGET: '#/components/schemas/ErrorBudgetAlertRule'
SERVICE_LEVELS_OBJECTIVE: '#/components/schemas/ServiceLevelObjectiveAlertRule'
propertyName: alertType
properties:
alertType:
type: string
required:
- alertType
ServiceLevelsBurnRateConfig:
type: object
description: This is the burn rate alert configuration which defines alerting windows and corresponding thresholds. This configuration must to specified for BURN_RATE_V2 Alerts.
properties:
alertWindowType:
type: string
description: 'Specifies the Burn Rate Alerting Window type: SINGLE for single window/threshold alerts, or LONG and SHORT for multi-window/threshold alerts.'
enum:
- SINGLE
- LONG
- SHORT
duration:
type: integer
format: int32
description: Duration of the Burn Rate Alerting Window.
durationUnitType:
type: string
description: Duration Unit Type of the Burn Rate Alerting Window.
enum:
- millisecond
- second
- minute
- hour
- day
- week
- month
threshold:
$ref: '#/components/schemas/ServiceLevelsStaticThresholdConfig'
required:
- duration
- durationUnitType
- threshold
ServiceLevelsBurnRateTimeWindows:
type: object
deprecated: true
description: This is the short and long time window setting for the burn rate alerts.
properties:
longTimeWindow:
$ref: '#/components/schemas/AlertingTimeWindow'
shortTimeWindow:
$ref: '#/components/schemas/AlertingTimeWindow'
ServiceLevelsStaticThresholdConfig:
type: object
description: This threshold defines a static value to be evaluated with a specific operator for burn rate v2 alerts.
properties:
lastUpdated:
type: integer
format: int64
minimum: 0
operator:
type: string
enum:
- '>'
- '>='
- <
- <=
value:
type: number
format: double
minimum: 0
required:
- operator
ServiceLevelsTimeThreshold:
type: object
description: This is the warm-up and cool-down setting to emit or stop alert event after threshold reached.
properties:
expiry:
type: integer
format: int64
description: This is the cooldown period when the active alert misses threshold and stop emitting notification.
timeWindow:
type: integer
format: int64
description: This is the grace period when the threshold is reached and the alert becomes active to emit notification.
required:
- expiry
- timeWindow
ServiceLevelseAlertConfigWithMetadata:
type: object
properties:
alertChannelIds:
type: array
description: This is the list of channel IDs when alert triggered and sent to.
items:
type: string
description: This is the list of channel IDs when alert triggered and sent to.
maxItems: 1024
minItems: 0
uniqueItems: true
burnRateConfig:
type: array
description: This is the burn rate alert configuration which defines alerting windows and corresponding thresholds. This configuration must to specified for BURN_RATE_V2 Alerts.
items:
$ref: '#/components/schemas/ServiceLevelsBurnRateConfig'
uniqueItems: true
burnRateTimeWindows:
$ref: '#/components/schemas/ServiceLevelsBurnRateTimeWindows'
created:
type: integer
format: int64
description: Created Date of the version of Service Levels Smart Alerts Configuration.
minimum: 1
customPayloadFields:
type: array
description: This is the custom name and value pairs to be sent along with the alert to the alert channels.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: The description of the alert. It is also the alert message content.
maxLength: 65536
minLength: 0
enabled:
type: boolean
description: Boolean Parameter specifying the enabled state of Service Levels Smart Alerts Configuration.
id:
type: string
description: Unique ID of the Service Levels Smart Alerts Configuration.
maxLength: 64
minLength: 0
initialCreated:
type: integer
format: int64
description: Created Date of the Initial version of Service Levels Smart Alerts Configuration.
minimum: 1
name:
type: string
description: Name of the Service Levels Smart Alerts Configuration.
maxLength: 256
minLength: 0
readOnly:
type: boolean
description: Boolean Parameter specifying the readonly access to Service Levels Smart Alerts Configuration.
rule:
$ref: '#/components/schemas/ServiceLevelsAlertRule'
severity:
type: integer
format: int32
description: 'This is the severity of the alert. The value can be: 5: warning, 10: critical.'
sloIds:
type: array
description: This is the list of SLO configurations related to this alert.
items:
type: string
description: This is the list of SLO configurations related to this alert.
maxItems: 1024
minItems: 0
uniqueItems: true
threshold:
$ref: '#/components/schemas/StaticThreshold'
timeThreshold:
$ref: '#/components/schemas/ServiceLevelsTimeThreshold'
triggering:
type: boolean
description: 'Incident flag. If value is true, this alert will become an accident.'
required:
- alertChannelIds
- customPayloadFields
- description
- id
- name
- rule
- severity
- sloIds
- timeThreshold
ServiceMap:
type: object
properties:
connections:
type: array
description: A list which indicates which services are consumers and which are providers in the communication chain.
items:
$ref: '#/components/schemas/ServiceMapConnection'
uniqueItems: true
services:
type: array
description: List of services in the topology.
items:
$ref: '#/components/schemas/ExtendedService'
uniqueItems: true
required:
- connections
- services
ServiceMapConnection:
type: object
description: A list which indicates which services are consumers and which are providers in the communication chain.
properties:
calls:
type: integer
format: int64
description: |
The number of calls between the 2 services.
Eg: The number of calls from `24558242fdeb52571cfb9fa42f1b334aa65d7e61` service to `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa` service over the mentioned timeframe is `200`.
If no timeframe (`to` and `windowSize` in query paramter) is mentioned, the timeframe is taken as last hour.
minimum: 0
errorRate:
type: number
format: double
description: |
The error rate of the calls between the 2 services.
Eg: The error rate of calls from `24558242fdeb52571cfb9fa42f1b334aa65d7e61` service to `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa` service over the mentioned timeframe is `0.1`.
The value is between 0 and 1.
If no timeframe (`to` and `windowSize` in query paramter) is mentioned, the timeframe is taken as last hour.
maximum: 1
minimum: 0
from:
type: string
description: |
The service that initiates a request to another service.
It contains a unique service id. Eg: `24558242fdeb52571cfb9fa42f1b334aa65d7e61`.
latency:
type: number
format: double
description: |
The mean latency of the calls between the 2 services.
Eg: The mean latency of calls from `24558242fdeb52571cfb9fa42f1b334aa65d7e61` service to `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa` service over the mentioned timeframe is `4.46`.
The value is in milliseconds.
If no timeframe (`to` and `windowSize` in query paramter) is mentioned, the timeframe is taken as last hour.
minimum: 0
to:
type: string
description: |
The service that receives the request sent by the source service.
It contains a unique service id. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.
required:
- from
- to
ServiceMatchingRule:
type: object
description: Calls will be matched with the array of key-value tags present in this field.
properties:
key:
type: string
description: |
In Instana UI, this is shown as `Tag`.
One can select a variety of pre-defined tags. Eg: `host.fqdn`, `container.label` etc.
value:
type: string
description: |
In Instana UI, this is known as 'key`.
Eg: if one labels Docker containers such as com.acme.service-name:myservice, to map services from this label,
the `key` aka `tag` would be `docker.label` and `value` aka `key` would be `com.acme.service-name`.
required:
- key
- value
ServiceMetricResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
items:
type: array
items:
$ref: '#/components/schemas/ServiceItem'
page:
type: integer
format: int32
description: Page Number
minimum: 1
pageSize:
type: integer
format: int32
minimum: 1
totalHits:
type: integer
format: int64
minimum: 0
required:
- items
ServiceNode:
type: object
properties:
endpoints:
type: object
additionalProperties:
$ref: '#/components/schemas/EndpointNode'
inclusive:
type: boolean
serviceId:
type: string
maxLength: 64
minLength: 0
required:
- endpoints
- serviceId
ServiceNowEnhancedIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
autoCloseIncidents:
type: boolean
enableSendInstanaNotes:
type: boolean
enableSendServiceNowActivities:
type: boolean
enableSendServiceNowWorkNotes:
type: boolean
instanaUrl:
type: string
manuallyClosedIncidents:
type: boolean
password:
type: string
resolutionOfIncident:
type: boolean
serviceNowUrl:
type: string
snowStatusOnCloseEvent:
type: integer
format: int32
tenant:
type: string
unit:
type: string
username:
type: string
required:
- id
- kind
- name
- password
- serviceNowUrl
- tenant
- unit
- username
ServiceNowIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
autoCloseIncidents:
type: boolean
password:
type: string
serviceNowUrl:
type: string
username:
type: string
required:
- id
- kind
- name
- password
- serviceNowUrl
- username
ServiceResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/Service'
page:
type: integer
format: int32
description: Page number you want to retrieve in a request / retrieved in a response.
pageSize:
type: integer
format: int32
description: number of elements retrieved in a single query.
totalHits:
type: integer
format: int32
description: 'The number of results returned. For eg: If `items` has 5 elements, `totalhits` will be 5'
ServiceScope:
type: object
description: The list of services where the release can be viewed.
properties:
name:
type: string
description: 'Name of the Service. Eg: `payment`.'
maxLength: 256
minLength: 0
scopedTo:
$ref: '#/components/schemas/ServiceScopedTo'
required:
- name
ServiceScopeWithMetadata:
type: object
description: The list of services where the release can be viewed.
properties:
id:
type: string
description: 'Unique ID of the Service. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.'
name:
type: string
description: 'Name of the Service. Eg: `payment`.'
scopedTo:
$ref: '#/components/schemas/ServiceScopedToWithMetadata'
required:
- id
ServiceScopedTo:
type: object
description: 'The list of application perspectives where the service is present. '
properties:
applications:
type: array
items:
$ref: '#/components/schemas/ApplicationScope'
maxItems: 10
minItems: 1
required:
- applications
ServiceScopedToWithMetadata:
type: object
description: The release marker would be present in the service but not for other services within the Application perspective.
properties:
applications:
type: array
description: 'The list of application perspectives where the service is present. '
items:
$ref: '#/components/schemas/ApplicationScopeWithMetadata'
maxItems: 10
minItems: 1
required:
- applications
ServiceSimple:
type: object
description: The destination service.
properties:
id:
type: string
description: 'Unique ID of the Service. Eg: `3feb3dcd206c166ef2b41c707e0cd38d7cd325aa`.'
label:
type: string
description: 'Name of the Service. Eg: `payment`.'
SessionSettings:
type: object
properties:
idleTimeInMillis:
type: integer
format: int64
maximum: 28800000
minimum: 600000
tokenLifeTimeInMillis:
type: integer
format: int64
maximum: 604800000
minimum: 600000
SimpleMetricConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/InfraMetricConfiguration'
- type: object
properties:
aggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
crossSeriesAggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
granularity:
type: integer
format: int64
description: |2
* If granularity is not specified an aggregated value for the selected timeframe is returned.
* If granularity is specified data points are returned with the specified granularity
* The granularity should not be greater than the `windowSize` (important: `windowSize` is expressed in milliseconds)
* The granularity should not be set too small relative to the `windowSize` to avoid creating an excessively large number of data points (max 600)
title: granularity in milliseconds
metric:
type: string
regex:
type: boolean
required:
type: boolean
description: 'When true, metric must be present with values'
required:
- aggregation
- metric
SingleValue:
type: object
allOf:
- $ref: '#/components/schemas/ArithmeticOperand'
- type: object
properties:
value:
type: number
format: double
SlackIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
channel:
type: string
emojiRendering:
type: boolean
iconUrl:
type: string
webhookUrl:
type: string
required:
- id
- kind
- name
- webhookUrl
SliConfiguration:
type: object
properties:
id:
type: string
description: Unique ID for each SLI
maxLength: 64
minLength: 0
initialEvaluationTimestamp:
type: integer
format: int64
description: Initial evaluation timestamp in milliseconds (13-digit)
metricConfiguration:
$ref: '#/components/schemas/MetricConfiguration'
sliEntity:
$ref: '#/components/schemas/SliEntity'
sliName:
type: string
description: The name of the Service Level Indicator (SLI) specified during its creation
maxLength: 256
minLength: 0
required:
- id
- sliEntity
- sliName
SliConfigurationWithLastUpdated:
type: object
properties:
id:
type: string
description: Unique ID for each SLI
maxLength: 64
minLength: 0
initialEvaluationTimestamp:
type: integer
format: int64
description: Initial evaluation timestamp in milliseconds (13-digit)
lastUpdated:
type: integer
format: int64
description: Last Updated timestamp in milliseconds (13-digit)
minimum: 1
metricConfiguration:
$ref: '#/components/schemas/MetricConfiguration'
sliEntity:
$ref: '#/components/schemas/SliEntity'
sliName:
type: string
description: The name of the Service Level Indicator (SLI) specified during its creation
maxLength: 256
minLength: 0
required:
- id
- sliEntity
- sliName
SliEntity:
type: object
description: Entity Type of the SLI Configuration
discriminator:
mapping:
application: '#/components/schemas/ApplicationSliEntity'
availability: '#/components/schemas/AvailabilitySliEntity'
websiteEventBased: '#/components/schemas/WebsiteEventBasedSliEntity'
websiteTimeBased: '#/components/schemas/WebsiteTimeBasedSliEntity'
propertyName: sliType
properties:
sliType:
type: string
required:
- sliType
SliReport:
type: object
properties:
errorBudgetRemaining:
type: integer
format: int64
description: This is the error budget remaining compared to the total error budget
fromTimestamp:
type: integer
format: int64
description: from timestamp in milliseconds (13-digit)
sli:
type: number
format: double
description: 'Service Level Indicator: This indicates the actual performance measure of the service'
slo:
type: number
format: double
description: 'Service Level Objective: This is the target value that should be met by the SLI'
toTimestamp:
type: integer
format: int64
description: to timestamp in milliseconds (13-digit)
totalErrorBudget:
type: integer
format: int64
description: This is the total error budget available
violationDistribution:
type: object
additionalProperties:
type: integer
format: int32
SloEntity:
type: object
description: 'Entity of the Service Levels Objective Configuration, it could be either Application nor Website'
discriminator:
mapping:
application: '#/components/schemas/ApplicationSloEntity'
infrastructure: '#/components/schemas/InfraSloEntity'
synthetic: '#/components/schemas/SyntheticSloEntity'
website: '#/components/schemas/WebsiteSloEntity'
propertyName: type
properties:
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
type:
type: string
required:
- type
SloReport:
type: object
properties:
errorAccumulationChart:
type: object
additionalProperties:
type: integer
format: int32
description: Value of accumulated bad minutes/events of SLO configuration in different timestamps from starting to ending point
description: Value of accumulated bad minutes/events of SLO configuration in different timestamps from starting to ending point
errorBudgetRemainChart:
type: object
additionalProperties:
type: integer
format: int32
description: Error Budget Remain value of SLO configuration in different timestamps from starting to ending point
description: Error Budget Remain value of SLO configuration in different timestamps from starting to ending point
errorBudgetRemaining:
type: integer
format: int32
description: Latest Remaining Error Budget value of SLO Configuration
errorBudgetSpent:
type: integer
format: int32
description: Spent Error Budget of SLO Configuration
errorBurnRate:
type: integer
format: int32
description: Latest Burn Rate value of SLO Configuration
errorBurnRateChart:
type: object
additionalProperties:
type: integer
format: int32
description: Budget Rate value of SLO configuration in different timestamps from starting to ending point
description: Budget Rate value of SLO configuration in different timestamps from starting to ending point
errorChart:
type: object
additionalProperties:
type: integer
format: int32
description: Value indicating presence of bad minutes/events of SLO configuration in different timestamps from starting to ending point
description: Value indicating presence of bad minutes/events of SLO configuration in different timestamps from starting to ending point
fromTimestamp:
type: integer
format: int64
description: 'Starting point of the data retrieval, specified as 13 digit Unix Timestamp milliseconds'
sli:
type: number
format: double
description: Latest Status value of SLO Configuration
slo:
type: number
format: double
description: Target status of SLO Configuration
toTimestamp:
type: integer
format: int64
description: 'Ending point of the data retrieval, specified as 13 digit Unix Timestamp milliseconds'
totalErrorBudget:
type: integer
format: int32
description: Latest Available Error Budget value of SLO Configuration
violationDistribution:
type: object
additionalProperties:
type: integer
format: int32
description: Value indicating violation of SLO configuration in different timestamps from starting to ending point
description: Value indicating violation of SLO configuration in different timestamps from starting to ending point
SlownessApplicationAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/ApplicationAlertRule'
required:
- aggregation
- metricName
SlownessMobileAppAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/MobileAppAlertRule'
required:
- aggregation
- metricName
SlownessWebsiteAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/WebsiteAlertRule'
required:
- aggregation
- metricName
SnapshotItem:
type: object
description: Detail information for requested snapshots.
properties:
data:
type: object
additionalProperties:
type: object
from:
type: integer
format: int64
description: Start of timeframe expressed as the Unix epoch time in milliseconds
host:
type: string
description: Host name
label:
type: string
description: Friendly label for the entity
plugin:
type: string
description: Plugin name
example: host
snapshotId:
type: string
description: Snapshot ID
tags:
type: array
description: Tags which can be used to search for this entity
items:
type: string
description: Tags which can be used to search for this entity
to:
type: integer
format: int64
description: End of timeframe expressed as the Unix epoch time in milliseconds
SnapshotPreview:
type: object
properties:
data:
type: object
additionalProperties:
type: object
description: Subset of the data section of the plugin. In most cases this field will be null.
description: Subset of the data section of the plugin. In most cases this field will be null.
id:
type: string
description: This is a snapshot ID. A unique identifier the metrics are assigned to.
label:
type: string
description: Name of the entity.
plugin:
type: string
description: 'A short plugin ID. For example, `containerd`, `nginx` etc.'
time:
type: integer
format: int64
description: 'Specifies the exact point at which the id, label and plugin are valid.'
minimum: 1
required:
- id
SnapshotResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/SnapshotItem'
SoftwareUser:
type: object
properties:
container:
type: string
host:
type: string
process:
type: string
snapshotId:
type: string
SoftwareVersion:
type: object
properties:
discoveryType:
type: string
enum:
- NATIVE_SENSOR
- REMOTE_SENSOR
- PACKAGE_MANAGER
- OTHER
metadata:
type: object
additionalProperties:
type: string
name:
type: string
plugin:
type: string
softwareType:
type: string
enum:
- DEPENDENCY
- RUNTIME
- DATABASE
- MESSAGING
- PLATFORM
- PACKAGE
- OS
- CACHE
- API_GATEWAY
- OTHER
- APPLICATION_FRAMEWORK
usedBy:
type: array
items:
$ref: '#/components/schemas/SoftwareUser'
uniqueItems: true
vendor:
type: string
version:
type: string
required:
- discoveryType
- name
- plugin
- softwareType
- usedBy
- vendor
- version
SourceMapFileBlob:
type: object
properties:
blobIndex:
type: integer
format: int32
size:
type: integer
format: int64
sizeOnDisk:
type: integer
format: int64
SourceMapFileMeta:
type: object
properties:
blobs:
type: array
items:
$ref: '#/components/schemas/SourceMapFileBlob'
format:
type: string
meta:
type: string
size:
type: integer
format: int64
sizeOnDisk:
type: integer
format: int64
type:
type: string
enum:
- JS_MAP
- JS
- R8PG_MAP
- DWARF
url:
type: string
required:
- format
- type
- url
SourceMapUploadConfig:
type: object
properties:
createdAt:
type: string
format: date-time
description:
type: string
id:
type: string
metadata:
type: array
items:
$ref: '#/components/schemas/SourceMapFileMeta'
maxItems: 500
minItems: 0
modifiedAt:
type: string
format: date-time
required:
- id
- metadata
SourceMapUploadConfigs:
type: object
properties:
config:
type: array
items:
$ref: '#/components/schemas/SourceMapUploadConfig'
writeOnly: true
configs:
type: array
items:
$ref: '#/components/schemas/SourceMapUploadConfig'
maxItems: 1024
minItems: 0
required:
- configs
SpanExcerpt:
type: object
description: 'Information about the logs attached to the call, if available.'
properties:
data:
type: object
additionalProperties:
type: object
description: 'Some information about the span, like service name, if it is an http call, then some information about it like, path, method, host, errors etc.'
description: 'Some information about the span, like service name, if it is an http call, then some information about it like, path, method, host, errors etc.'
databaseIntegrations:
type: array
items:
$ref: '#/components/schemas/DatabaseIntegration'
duration:
type: integer
format: int64
description: 'The total time taken for the entire operation of a call, from the moment the request was initiated to when the response was received. The time measured is in milliseconds. This is also known as latency of a call.'
minimum: 0
errorCount:
type: integer
format: int32
description: Represents whether the span is erroneous or not. 0 is not erroneous and 1 is erroneous.
minimum: 0
foreignParentId:
type: string
id:
type: string
description: 'The call ID. A unique identifier for an individual call. For example: `1bcad5c82338deaf`.'
kind:
type: string
description: |
There are 4 types of span kind:
1. `ENTRY`: An entry span represents an incoming request into a traced service.
2. `EXIT`: An exit span represents an outgoing request that a service makes to some other service.
3. `INTERMEDIATE`: An intermediate span represents anything that happens inside a traced service where the flow of control neither enters nor leaves that service, but stays inside it.
4. `UNKNOWN`: Instana can't determine the span kind.
enum:
- UNKNOWN
- ENTRY
- EXIT
- INTERMEDIATE
name:
type: string
description: 'The technical type of the span. For example, `node.http.client` or `jdbc`.'
parentId:
type: string
description: 'The parent call id, referring to another call in the same trace which triggered the processing associated with this call.'
stackTrace:
type: array
description: 'For an erroneous call, if stack trace is available it will show a list of items containing file, method and line number of the code.'
items:
$ref: '#/components/schemas/StackTraceItem'
start:
type: integer
format: int64
description: 'The timestamp when the call or request was initiated. For example, Unix epoch time in milliseconds `1735532879870` is `Monday, 30 December 2024 04:27:59.870 GMT`'
minimum: 1
required:
- data
- id
- kind
- name
- stackTrace
SpanRelation:
type: object
description: |
It shows from where the call is destined to. It includes the following information:
1. List of Application Perspectives from which the call is destined to.
2. Destination service and destination endpoint.
3. Physical context from the infrastructure point of view.
properties:
applications:
type: array
items:
$ref: '#/components/schemas/Application'
uniqueItems: true
endpoint:
$ref: '#/components/schemas/Endpoint'
physicalContext:
$ref: '#/components/schemas/PhysicalContext'
service:
$ref: '#/components/schemas/Service'
required:
- applications
SpecificJsErrorsWebsiteAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/WebsiteAlertRule'
- type: object
properties:
operator:
type: string
enum:
- EQUALS
- CONTAINS
- LESS_THAN
- LESS_OR_EQUAL_THAN
- GREATER_THAN
- GREATER_OR_EQUAL_THAN
- NOT_EMPTY
- NOT_EQUAL
- NOT_CONTAIN
- IS_EMPTY
- NOT_BLANK
- IS_BLANK
- STARTS_WITH
- ENDS_WITH
- NOT_STARTS_WITH
- NOT_ENDS_WITH
- REGEX_MATCH
value:
type: string
required:
- metricName
- operator
SplunkIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
token:
type: string
url:
type: string
required:
- id
- kind
- name
- token
- url
StackTraceItem:
type: object
description: 'For an erroneous call, if stack trace is available it will show a list of items containing file, method and line number of the code.'
properties:
file:
type: string
description: The name of the file where the executed code resides.
line:
type: string
description: The line number within the file where the error was thrown.
method:
type: string
description: The name of the method or function being executed at the time the stack trace item was generated.
StackTraceLine:
type: object
properties:
column:
type: integer
format: int32
minimum: -1
file:
type: string
line:
type: integer
format: int32
minimum: -1
name:
type: string
translationExplanation:
type: string
translationStatus:
type: integer
format: int32
minimum: -1
required:
- file
StaticBaselineThresholdRule:
type: object
allOf:
- $ref: '#/components/schemas/ThresholdConfigRule'
- type: object
properties:
baseline:
type: array
items:
type: array
items:
type: number
deviationFactor:
type: number
format: double
exclusiveMaximum: false
exclusiveMinimum: false
maximum: 16
minimum: 0.5
seasonality:
type: string
enum:
- WEEKLY
- DAILY
required:
- seasonality
StaticStringField:
type: object
allOf:
- $ref: '#/components/schemas/CustomPayloadField'
- type: object
properties:
value:
type: string
description: Custom value for static type custom payload
required:
- key
- value
StaticThreshold:
type: object
allOf:
- $ref: '#/components/schemas/Threshold'
- type: object
properties:
lastUpdated:
type: integer
format: int64
minimum: 0
value:
type: number
format: double
minimum: 0
description: This threshold defines a static value to be evaluated with a specific operator.
required:
- operator
StaticThresholdRule:
type: object
allOf:
- $ref: '#/components/schemas/ThresholdConfigRule'
- type: object
properties:
value:
type: number
format: double
minimum: 0
StatusCodeApplicationAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/ApplicationAlertRule'
- type: object
properties:
statusCodeEnd:
type: integer
format: int32
minimum: 1
statusCodeStart:
type: integer
format: int32
minimum: 1
required:
- metricName
StatusCodeMobileAppAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/MobileAppAlertRule'
- type: object
properties:
operator:
type: string
enum:
- EQUALS
- CONTAINS
- LESS_THAN
- LESS_OR_EQUAL_THAN
- GREATER_THAN
- GREATER_OR_EQUAL_THAN
- NOT_EMPTY
- NOT_EQUAL
- NOT_CONTAIN
- IS_EMPTY
- NOT_BLANK
- IS_BLANK
- STARTS_WITH
- ENDS_WITH
- NOT_STARTS_WITH
- NOT_ENDS_WITH
- REGEX_MATCH
value:
type: string
required:
- metricName
- operator
- value
StatusCodeWebsiteAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/WebsiteAlertRule'
- type: object
properties:
operator:
type: string
enum:
- EQUALS
- CONTAINS
- LESS_THAN
- LESS_OR_EQUAL_THAN
- GREATER_THAN
- GREATER_OR_EQUAL_THAN
- NOT_EMPTY
- NOT_EQUAL
- NOT_CONTAIN
- IS_EMPTY
- NOT_BLANK
- IS_BLANK
- STARTS_WITH
- ENDS_WITH
- NOT_STARTS_WITH
- NOT_ENDS_WITH
- REGEX_MATCH
value:
type: string
required:
- metricName
- operator
- value
Subtraction:
type: object
allOf:
- $ref: '#/components/schemas/ArithmeticOperation'
required:
- left
- right
SyntheticAlertConfig:
type: object
properties:
alertChannelIds:
type: array
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the synthetic alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
name:
type: string
description: Name of the synthetic alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
rule:
$ref: '#/components/schemas/SyntheticAlertRule'
severity:
type: integer
format: int32
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
maximum: 10
minimum: 5
syntheticTestIds:
type: array
description: IDs of the synthetic tests that this Smart Alert configuration is applied to.
items:
type: string
description: IDs of the synthetic tests that this Smart Alert configuration is applied to.
uniqueItems: true
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
timeThreshold:
$ref: '#/components/schemas/SyntheticTimeThreshold'
required:
- alertChannelIds
- customPayloadFields
- description
- name
- rule
- syntheticTestIds
- tagFilterExpression
- timeThreshold
SyntheticAlertConfigWithMetadata:
type: object
properties:
alertChannelIds:
type: array
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
created:
type: integer
format: int64
description: Unix timestamp representing the creation time of this revision.
minimum: 1
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the synthetic alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
enabled:
type: boolean
description: Flag to indicate whether or not the configuration is enabled.
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
id:
type: string
description: 'ID of this Synthetic Alert Config. '
maxLength: 64
minLength: 0
initialCreated:
type: integer
format: int64
description: Unix timestamp representing the time of the initial revision.
minimum: 1
name:
type: string
description: Name of the synthetic alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
readOnly:
type: boolean
description: Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config.
rule:
$ref: '#/components/schemas/SyntheticAlertRule'
severity:
type: integer
format: int32
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
maximum: 10
minimum: 5
syntheticTestIds:
type: array
description: IDs of the synthetic tests that this Smart Alert configuration is applied to.
items:
type: string
description: IDs of the synthetic tests that this Smart Alert configuration is applied to.
uniqueItems: true
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
timeThreshold:
$ref: '#/components/schemas/SyntheticTimeThreshold'
required:
- alertChannelIds
- customPayloadFields
- description
- id
- name
- rule
- syntheticTestIds
- tagFilterExpression
- timeThreshold
SyntheticAlertRule:
type: object
description: Indicates the type of rule this alert configuration is about.
discriminator:
mapping:
failure: '#/components/schemas/FailureSyntheticAlertRule'
propertyName: alertType
properties:
aggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
alertType:
type: string
metricName:
type: string
required:
- alertType
- metricName
SyntheticBulkResponse:
type: object
properties:
errorMessage:
type: string
id:
type: string
status:
type: string
SyntheticCallConfig:
type: object
properties:
customRules:
type: array
description: The list of custom rules for synthetic endpoints defined by the user.
items:
$ref: '#/components/schemas/SyntheticCallRule'
maxItems: 500
minItems: 0
defaultRulesEnabled:
type: boolean
description: A flag to enable/disable the default synthetic endpoint configurations defined by Instana.
required:
- customRules
SyntheticCallRule:
type: object
description: The list of custom rules for synthetic endpoints defined by the user.
properties:
description:
type: string
description: 'A description of the custom rule. For example, one can mention the reason behind having the custom rule.'
maxLength: 2048
minLength: 0
enabled:
type: boolean
description: A flag to enable/disable the custom synthetic endpoint configurations defined by the user.
matchSpecification:
$ref: '#/components/schemas/MatchExpressionDTO'
name:
type: string
description: The name of the custom rule for Synthetic endpoints.
maxLength: 128
minLength: 1
required:
- matchSpecification
- name
SyntheticCallWithDefaultsConfig:
type: object
properties:
customRules:
type: array
description: The list of custom rules for synthetic endpoints defined by the user.
items:
$ref: '#/components/schemas/SyntheticCallRule'
maxItems: 500
minItems: 0
defaultRules:
type: array
items:
$ref: '#/components/schemas/SyntheticCallRule'
defaultRulesEnabled:
type: boolean
description: A flag to enable/disable the default synthetic endpoint configurations defined by Instana.
required:
- customRules
- defaultRules
SyntheticConfiguration:
type: object
properties:
retries:
type: integer
format: int32
maximum: 2
minimum: 0
retryInterval:
type: integer
format: int32
maximum: 10
minimum: 1
timeout:
type: string
SyntheticConfigurationUpdate:
type: object
properties:
markSyntheticCall:
type: boolean
retries:
type: integer
format: int32
maximum: 2
minimum: 0
retryInterval:
type: integer
format: int32
maximum: 10
minimum: 1
timeout:
type: string
SyntheticCredential:
type: object
properties:
applicationLabels:
type: array
items:
type: string
readOnly: true
readOnly: true
applications:
type: array
items:
type: string
createdAt:
type: integer
format: int64
readOnly: true
createdBy:
type: string
maxLength: 128
minLength: 0
credentialName:
type: string
maxLength: 128
minLength: 1
credentialValue:
type: string
writeOnly: true
mobileAppLabels:
type: array
items:
type: string
readOnly: true
readOnly: true
mobileApps:
type: array
items:
type: string
modifiedAt:
type: integer
format: int64
readOnly: true
modifiedBy:
type: string
maxLength: 128
minLength: 0
rbacTags:
type: array
items:
$ref: '#/components/schemas/ApiTag'
uniqueItems: true
websiteLabels:
type: array
items:
type: string
readOnly: true
readOnly: true
websites:
type: array
items:
type: string
required:
- credentialName
- credentialValue
SyntheticDatacenter:
type: object
properties:
cityName:
type: string
code:
type: string
maxLength: 128
minLength: 1
configuration:
$ref: '#/components/schemas/SyntheticDatacenterConfiguration'
countryName:
type: string
datacenterId:
type: string
expectedActiveAt:
type: integer
format: int64
label:
type: string
maxLength: 128
minLength: 1
latitude:
type: number
format: double
locationLabel:
type: string
longitude:
type: number
format: double
modifiedAt:
type: integer
format: int64
provider:
type: string
maxLength: 128
minLength: 1
status:
type: string
required:
- cityName
- code
- countryName
- label
- provider
SyntheticDatacenterConfiguration:
type: object
properties:
ipAddresses:
type: array
items:
type: string
SyntheticGeoPoint:
type: object
properties:
cityName:
type: string
countryName:
type: string
latitude:
type: number
format: double
longitude:
type: number
format: double
required:
- cityName
- countryName
- latitude
- longitude
SyntheticLocation:
type: object
properties:
configuration:
$ref: '#/components/schemas/SyntheticLocationConfiguration'
createdAt:
type: integer
format: int64
customProperties:
type: object
additionalProperties:
type: string
description:
type: string
maxLength: 512
minLength: 0
displayLabel:
type: string
maxLength: 128
minLength: 1
geoPoint:
$ref: '#/components/schemas/SyntheticGeoPoint'
id:
type: string
maxLength: 128
minLength: 0
label:
type: string
maxLength: 128
minLength: 1
locationType:
type: string
modifiedAt:
type: integer
format: int64
observedAt:
type: integer
format: int64
playbackCapabilities:
$ref: '#/components/schemas/SyntheticPlaybackCapabilities'
popVersion:
type: string
maxLength: 64
minLength: 1
status:
type: string
totalTests:
type: integer
format: int32
required:
- geoPoint
- label
- locationType
- playbackCapabilities
SyntheticLocationConfiguration:
type: object
properties:
clusterName:
type: string
namespace:
type: string
tenantType:
type: string
enum:
- Multi
- Single
SyntheticMetricConfiguration:
type: object
properties:
aggregation:
type: string
description: 'Set aggregation that can be applied to a series of values. Eg: `MEAN`.'
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
granularity:
type: integer
format: int32
description: 'If the granularity is set you will get data points with the specified granularity in seconds. Default: `1000` milliseconds'
metric:
type: string
description: 'Set a particular metric, eg: `latency`.'
required:
- aggregation
- metric
SyntheticMetricTagGroup:
type: object
description: ' Grouping of data under `groupbyTag`, where `groupbyTagEntity` and `groupbyTagSecondLevelKey` are aspects of `groupbyTag`.'
properties:
groupbyTag:
type: string
description: The name of the group tag (e.g. `agent.tag` or `docker.label`).
maxLength: 256
minLength: 0
groupbyTagEntity:
type: string
description: |
The entity by which the data should be grouped.
This field supports three possible values: `NOT_APPLICABLE`, `DESTINATION`, and `SOURCE`.
`SOURCE`: the tag filter should apply to the source entity.
`DESTINATION`: the tag filter should apply to the destination entity.
`NOT_APPLICABLE`: some tags are independent of source or destination, such as tags on the call itself, log tags or trace tags (only destination makes sense because the source is unknown for the root call).
enum:
- NOT_APPLICABLE
- DESTINATION
- SOURCE
groupbyTagSecondLevelKey:
type: string
description: 'If present, it''s the 2nd level key part (e.g. `customKey` on `docker.label.customKey`)'
maxLength: 256
minLength: 0
required:
- groupbyTag
- groupbyTagEntity
SyntheticPlaybackCapabilities:
type: object
properties:
browserType:
type: array
items:
type: string
enum:
- chrome
- firefox
executionType:
type: array
items:
type: string
enum:
- CI/CD
syntheticType:
type: array
items:
type: string
required:
- browserType
- syntheticType
SyntheticResourceUpdateListDNSFilterTargetValueListDNSFilterTargetValue:
type: object
properties:
add:
type: array
items:
$ref: '#/components/schemas/DNSFilterTargetValue'
remove:
type: array
items:
$ref: '#/components/schemas/DNSFilterTargetValue'
SyntheticResourceUpdateListSSLCertificateValidationListSSLCertificateValidation:
type: object
properties:
add:
type: array
items:
$ref: '#/components/schemas/SSLCertificateValidation'
remove:
type: array
items:
$ref: '#/components/schemas/SSLCertificateValidation'
SyntheticResourceUpdateListStringListString:
type: object
properties:
add:
type: array
items:
type: string
remove:
type: array
items:
type: string
SyntheticResourceUpdateMapStringStringListString:
type: object
properties:
add:
type: object
additionalProperties:
type: string
remove:
type: array
items:
type: string
SyntheticSloEntity:
type: object
allOf:
- $ref: '#/components/schemas/SloEntity'
- type: object
properties:
includeUnscheduledTestResults:
type: boolean
description: 'Only includes the scheduled test results. '
syntheticTestIds:
type: array
description: 'List of Unique Synthetic Tests IDs '
items:
type: string
description: 'List of Unique Synthetic Tests IDs '
uniqueItems: true
required:
- syntheticTestIds
SyntheticTest:
type: object
properties:
active:
type: boolean
applicationId:
type: string
maxLength: 512
minLength: 0
applicationLabel:
type: string
maxLength: 512
minLength: 0
readOnly: true
applicationLabels:
type: array
items:
type: string
readOnly: true
readOnly: true
applications:
type: array
items:
type: string
configuration:
$ref: '#/components/schemas/SyntheticTypeConfiguration'
createdAt:
type: integer
format: int64
readOnly: true
createdBy:
type: string
maxLength: 128
minLength: 0
customProperties:
type: object
additionalProperties:
type: string
description:
type: string
maxLength: 512
minLength: 0
id:
type: string
maxLength: 128
minLength: 1
label:
type: string
maxLength: 128
minLength: 1
locationDisplayLabels:
type: array
items:
type: string
readOnly: true
readOnly: true
locationLabels:
type: array
items:
type: string
readOnly: true
readOnly: true
locations:
type: array
items:
type: string
mobileAppLabels:
type: array
items:
type: string
readOnly: true
readOnly: true
mobileApps:
type: array
items:
type: string
modifiedAt:
type: integer
format: int64
modifiedBy:
type: string
maxLength: 128
minLength: 0
playbackMode:
type: string
enum:
- Simultaneous
- Staggered
rbacTags:
type: array
items:
$ref: '#/components/schemas/ApiTag'
uniqueItems: true
tenantId:
type: string
testFrequency:
type: integer
format: int32
maximum: 1440
minimum: 1
websiteLabels:
type: array
items:
type: string
readOnly: true
readOnly: true
websites:
type: array
items:
type: string
required:
- active
- configuration
- label
- locations
- testFrequency
SyntheticTestCICD:
type: object
properties:
customization:
$ref: '#/components/schemas/SyntheticTestCICDCustomization'
runType:
type: string
testId:
type: string
required:
- customization
- testId
SyntheticTestCICDCustomization:
type: object
properties:
configuration:
$ref: '#/components/schemas/SyntheticConfiguration'
customProperties:
type: object
additionalProperties:
type: string
locations:
type: array
items:
type: string
required:
- configuration
SyntheticTestCICDItem:
type: object
properties:
applications:
type: array
items:
type: string
completed:
type: boolean
customization:
$ref: '#/components/schemas/SyntheticTestCICDCustomization'
locationId:
type: string
locationLabel:
type: string
mobileApps:
type: array
items:
type: string
runType:
type: string
testId:
type: string
testLabel:
type: string
testResultId:
type: string
testType:
type: string
websites:
type: array
items:
type: string
required:
- completed
- customization
- locationId
- locationLabel
- testId
- testLabel
- testResultId
- testType
SyntheticTestCICDResponse:
type: object
properties:
locationId:
type: string
testId:
type: string
testResultId:
type: string
required:
- locationId
- testId
- testResultId
SyntheticTestDeepUpdate:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTestUpdate'
- type: object
properties:
configuration:
$ref: '#/components/schemas/SyntheticTypeConfigurationUpdate'
required:
- syntheticUpdateType
SyntheticTestShallowUpdate:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTestUpdate'
- type: object
properties:
configuration:
$ref: '#/components/schemas/SyntheticConfigurationUpdate'
required:
- syntheticUpdateType
SyntheticTestUpdate:
type: object
description: Identifies the type of the synthetic tests updated on this request. Valid types are Deep and Shallow.
discriminator:
mapping:
Deep: '#/components/schemas/SyntheticTestDeepUpdate'
Shallow: '#/components/schemas/SyntheticTestShallowUpdate'
propertyName: syntheticUpdateType
properties:
active:
type: boolean
applications:
$ref: '#/components/schemas/SyntheticResourceUpdateListStringListString'
customProperties:
$ref: '#/components/schemas/SyntheticResourceUpdateMapStringStringListString'
ids:
type: array
items:
type: string
lastModifiedAt:
type: array
items:
type: integer
format: int64
locations:
$ref: '#/components/schemas/SyntheticResourceUpdateListStringListString'
mobileApps:
$ref: '#/components/schemas/SyntheticResourceUpdateListStringListString'
modifiedBy:
type: string
shallowUpdate:
type: boolean
syntheticUpdateType:
type: string
description: |
Indicates the type of update to apply to a set of tests of same syntheticType (Deep)
or a mix of syntheticType values (Shallow). When Shallow is used, only the configuration properties
retries, retryInterval and timeout can be updated
enum:
- Deep
- Shallow
testFrequency:
type: integer
format: int32
maximum: 1440
minimum: 1
websites:
$ref: '#/components/schemas/SyntheticResourceUpdateListStringListString'
required:
- syntheticUpdateType
SyntheticTimeThreshold:
type: object
description: The type of threshold to define the criteria when the event and alert triggers and resolves.
discriminator:
mapping:
violationsInSequence: '#/components/schemas/ViolationsInSequenceSyntheticTimeThreshold'
propertyName: type
properties:
type:
type: string
violationsCount:
type: integer
format: int32
maximum: 12
minimum: 1
required:
- type
SyntheticTypeConfiguration:
type: object
description: |-
Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript,
DNS, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and WebpageScript.
discriminator:
mapping:
BrowserScript: '#/components/schemas/BrowserScriptConfiguration'
DNS: '#/components/schemas/DNSConfiguration'
HTTPAction: '#/components/schemas/HttpActionConfiguration'
HTTPScript: '#/components/schemas/HttpScriptConfiguration'
NotConfigured: '#/components/schemas/EmptyConfiguration'
SSLCertificate: '#/components/schemas/SSLCertificateConfiguration'
WebpageAction: '#/components/schemas/WebpageActionConfiguration'
WebpageScript: '#/components/schemas/WebpageScriptConfiguration'
propertyName: syntheticType
properties:
markSyntheticCall:
type: boolean
retries:
type: integer
format: int32
maximum: 2
minimum: 0
retryInterval:
type: integer
format: int32
maximum: 10
minimum: 1
syntheticType:
type: string
enum:
- BrowserScript
- DNS
- HTTPAction
- HTTPScript
- SSLCertificate
- WebpageAction
- WebpageScript
- NotConfigured
timeout:
type: string
required:
- markSyntheticCall
- syntheticType
SyntheticTypeConfigurationUpdate:
type: object
description: |-
Synthetic test configuration that is unique to a synthetic type. Valid types are BrowserScript,
DNS, HTTPAction, HTTPScript, SSLCertificate, WebpageAction, and WebpageScript.
discriminator:
mapping:
BrowserScript: '#/components/schemas/BrowserScriptConfigurationUpdate'
DNS: '#/components/schemas/DNSConfigurationUpdate'
HTTPAction: '#/components/schemas/HttpActionConfigurationUpdate'
HTTPScript: '#/components/schemas/HttpScriptConfigurationUpdate'
SSLCertificate: '#/components/schemas/SSLCertificateConfigurationUpdate'
WebpageAction: '#/components/schemas/WebpageActionConfigurationUpdate'
WebpageScript: '#/components/schemas/WebpageScriptConfigurationUpdate'
propertyName: syntheticType
properties:
markSyntheticCall:
type: boolean
retries:
type: integer
format: int32
maximum: 2
minimum: 0
retryInterval:
type: integer
format: int32
maximum: 10
minimum: 1
syntheticTest:
type: string
enum:
- BrowserScript
- DNS
- HTTPAction
- HTTPScript
- SSLCertificate
- WebpageAction
- WebpageScript
- NotConfigured
writeOnly: true
syntheticType:
type: string
enum:
- BrowserScript
- DNS
- HTTPAction
- HTTPScript
- SSLCertificate
- WebpageAction
- WebpageScript
- NotConfigured
timeout:
type: string
SyntheticsEventResult:
type: object
allOf:
- $ref: '#/components/schemas/EventResult'
- type: object
properties:
locationIds:
type: array
description: IDs of the locations.
items:
type: string
description: IDs of the locations.
syntheticTestId:
type: string
description: ID of the synthetic test.
SystemRule:
type: object
allOf:
- $ref: '#/components/schemas/AbstractRule'
- type: object
properties:
systemRuleId:
type: string
required:
- systemRuleId
SystemRuleLabel:
type: object
properties:
id:
type: string
name:
type: string
required:
- id
- name
Tag:
type: object
description: |
List of queryable tags available in a tagTree. Eg: `call.erroneous`.
Consider these tags as attributes of a tagTree. Eg: `Call` tagTree has have `Erroneous`, `Call name`, `Latency` etc as attributes.
properties:
aliases:
type: array
description: |
List of other names that can refer to this tag
items:
type: string
description: |
List of other names that can refer to this tag
uniqueItems: true
availability:
type: array
description: |
List of product areas this tag is available in
items:
type: string
description: |
List of product areas this tag is available in
enum:
- INFRASTRUCTURE_METRICS
- APPLICATION
- WEBSITE
- MOBILE_APP
- EUM
- EUM_IMPACTED_BEACON
- EVENT
- SLI
- SLO
- SLO_PREVIEW
- USAGE
- LOG
- SYNTHETICS
- SYNTHETICS_DETAIL
- APDEX
- BIZOPS
- BUSINESS_METRICS
- SUBTRACE
- UNKNOWN
uniqueItems: true
canApplyToDestination:
type: boolean
description: |
Whether the tag is available for destination or not.
If source and destination is false, it means the tag is independent of source and destination. Eg: of such tag is `call.http.path`.
canApplyToSource:
type: boolean
description: |
Whether the tag is available for source or not.
If source and destination is false, it means the tag is independent of source and destination. Eg: of such tag is `call.http.path`.
description:
type: string
description: The description of the tag if it is provided.
idTag:
type: boolean
description: |
Whether the Tag is a unique ID or not.
Eg: `idTag` for `endpoint.id` is true but for `call.rpc.method` it is false.
label:
type: string
description: 'The name of the tag which is seen in the UI. Eg: `Call name`'
maxLength: 256
minLength: 0
name:
type: string
description: 'The name of the tag. Eg: `call.name`'
type:
type: string
description: 'The data type of the tag. Eg: `call.name` accepts `STRING` value.'
enum:
- BOOLEAN
- STRING
- NUMBER
- STRING_SET
- STRING_LIST
- KEY_VALUE_PAIR
- FLOAT_LIST
- KEY_NUMBER_PAIR
required:
- name
- type
TagCatalog:
type: object
properties:
tagTree:
type: array
description: |
The name of the tag dataset (tagTree) which can contain one or more tags as its attributes or children. Eg: `Call`.
Consider this as the root of the tree where it has tags as attributes or children.
items:
$ref: '#/components/schemas/TagTreeLevel'
tags:
type: array
description: |
List of queryable tags available in a tagTree. Eg: `call.erroneous`.
Consider these tags as attributes of a tagTree. Eg: `Call` tagTree has have `Erroneous`, `Call name`, `Latency` etc as attributes.
items:
$ref: '#/components/schemas/Tag'
required:
- tagTree
- tags
TagFilter:
type: object
allOf:
- $ref: '#/components/schemas/TagFilterExpressionElement'
- type: object
properties:
entity:
type: string
description: 'SOURCE or DESTINATION tag in case of a call tag. For Infrastructure, always set to NOT_APPLICABLE.'
enum:
- NOT_APPLICABLE
- DESTINATION
- SOURCE
key:
type: string
description: Tag key in case of a key/value tag.
maxLength: 512
minLength: 0
name:
type: string
description: Name of the tag.
maxLength: 128
minLength: 0
operator:
type: string
enum:
- EQUALS
- CONTAINS
- LESS_THAN
- LESS_OR_EQUAL_THAN
- GREATER_THAN
- GREATER_OR_EQUAL_THAN
- NOT_EMPTY
- NOT_EQUAL
- NOT_CONTAIN
- IS_EMPTY
- NOT_BLANK
- IS_BLANK
- STARTS_WITH
- ENDS_WITH
- NOT_STARTS_WITH
- NOT_ENDS_WITH
- REGEX_MATCH
value:
type: object
description: 'Tag value to filter on. Can be a string, number, or boolean value.'
required:
- entity
- name
- operator
TagFilterExpression:
type: object
allOf:
- $ref: '#/components/schemas/TagFilterExpressionElement'
- type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/TagFilterExpressionElement'
logicalOperator:
type: string
description: Set AND / OR
enum:
- AND
- OR
required:
- elements
- logicalOperator
TagFilterExpressionElement:
type: object
description: Boolean expression of tag filters to define the scope of relevant calls.
discriminator:
mapping:
EXPRESSION: '#/components/schemas/TagFilterExpression'
TAG_FILTER: '#/components/schemas/TagFilter'
propertyName: type
properties:
type:
type: string
required:
- type
TagMatcherDTO:
type: object
allOf:
- $ref: '#/components/schemas/MatchExpressionDTO'
- type: object
properties:
entity:
type: string
enum:
- NOT_APPLICABLE
- DESTINATION
- SOURCE
key:
type: string
operator:
type: string
enum:
- EQUALS
- NOT_EQUAL
- CONTAINS
- NOT_CONTAIN
- IS_EMPTY
- NOT_EMPTY
- IS_BLANK
- NOT_BLANK
- STARTS_WITH
- ENDS_WITH
- NOT_STARTS_WITH
- NOT_ENDS_WITH
- GREATER_OR_EQUAL_THAN
- LESS_OR_EQUAL_THAN
- LESS_THAN
- GREATER_THAN
value:
type: string
required:
- entity
- key
- operator
TagTreeLevel:
type: object
description: |
The name of the tag dataset (tagTree) which can contain one or more tags as its attributes or children. Eg: `Call`.
Consider this as the root of the tree where it has tags as attributes or children.
properties:
children:
type: array
description: Children tags of tagTree
items:
$ref: '#/components/schemas/TagTreeNode'
description:
type: string
description: 'The description provided, if any.'
maxLength: 512
minLength: 0
icon:
type: string
description: |
Each tag has an Icon which can be seen on the drop down list in Unbounded Analytics.
If there is an icon, there will be a string associated with it.
Eg: For for all `TAG` under `Call` tagTreeNode, the `icon` value is `lib_application_call`.
maxLength: 128
minLength: 0
label:
type: string
description: 'The name of the tagTreeNode. Eg: `Commonly Used`, `Application`.'
maxLength: 128
minLength: 0
queryable:
type: boolean
scoreBoost:
type: integer
format: int32
description: |
By default it is `null` if it is not set explictily by IBM Instana.
The purpose of this parameter is to rank the tagTree. For eg: some set of tags are frequently used.
Tags under `Commonly used` is frequently used, so it will come up on top of the drop down list of `Query Builder` in `Unbounded Analytics`.
Higher the scoreBoost, higher the ranking.
type:
type: string
description: Type would be either `LEVEL` or `TAG` depending on whether the tag has any child tags or not respectively.
required:
- children
- label
TagTreeNode:
type: object
description: Children tags of tagTree
discriminator:
mapping:
LEVEL: '#/components/schemas/TagTreeLevel'
TAG: '#/components/schemas/TagTreeTag'
propertyName: type
properties:
icon:
type: string
label:
type: string
type:
type: string
description: Type would be either `LEVEL` or `TAG` depending on whether the tag has any child tags or not respectively.
TagTreeTag:
type: object
allOf:
- $ref: '#/components/schemas/TagTreeNode'
- type: object
properties:
description:
type: string
maxLength: 512
minLength: 0
hidden:
type: boolean
description: 'If true, the tag will not be available for query in Unbounded Analytics.'
icon:
type: string
maxLength: 128
minLength: 0
label:
type: string
description: 'The name of the tagTreeNode. Eg: `Call Error Message`, `Endpoint Name`.'
maxLength: 128
minLength: 0
queryable:
type: boolean
description: |
queryable property can have 3 states which will be reflected in the drop down list in `Query Builder` of `Unbounded Analytics` of Instana UI:
- true: the tag has been seen by IBM Instana and must be shown.
- false: the tag could have been processed, but has not been seen by IBM Instana and could be hidden.
- null: the tag has not been processed and should be shown.
The purpose is to make it easier for customers to find the right tags in drop down list
scoreBoost:
type: integer
format: int32
description: |
By default it is `null` if it is not set explictily by IBM Instana.
The purpose of this parameter is to rank the Tag. For eg: tags are frequently used within the tagTree
For eg, assume there are 8 tags under `Commonly Used`. IBM Instana can set the ranking for each of these tags within `Commonly Used`.
Higher the scoreBoost, higher the ranking.
tagName:
type: string
maxLength: 128
minLength: 0
required:
- label
- tagName
TestCommonProperties:
type: object
properties:
active:
type: boolean
applicationId:
type: string
applicationIds:
type: array
items:
type: string
applicationLabel:
type: string
applicationLabels:
type: array
items:
type: string
createdAt:
type: integer
format: int64
frequency:
type: integer
format: int32
getWebsiteLabels:
type: array
items:
type: string
id:
type: string
label:
type: string
locationDisplayLabels:
type: array
items:
type: string
locationIds:
type: array
items:
type: string
locationLabels:
type: array
items:
type: string
locationStatusList:
type: array
items:
$ref: '#/components/schemas/LocationStatus'
mobileApplicationIds:
type: array
items:
type: string
mobileApplicationLabels:
type: array
items:
type: string
modifiedAt:
type: integer
format: int64
serviceId:
type: string
type:
type: string
websiteIds:
type: array
items:
type: string
websiteLabels:
type: array
items:
type: string
writeOnly: true
required:
- active
- frequency
- id
- label
- type
TestLastError:
type: object
properties:
errors:
type: array
items:
type: string
startTime:
type: integer
format: int64
TestResult:
type: object
properties:
testResult:
type: array
items:
$ref: '#/components/schemas/TestResultItem'
testResultItems:
type: array
items:
$ref: '#/components/schemas/TestResultItem'
writeOnly: true
TestResultCommonProperties:
type: object
properties:
clientId:
type: string
customTags:
type: object
additionalProperties:
type: string
dnsQueryType:
type: string
dnsServerName:
type: string
errors:
type: array
items:
type: string
id:
type: string
ismDetails:
type: object
additionalProperties:
type: string
lastErrors:
$ref: '#/components/schemas/TestLastError'
locationDisplayLabel:
type: string
locationId:
type: string
runType:
type: string
sslDaysRemaining:
type: string
testCommonProperties:
$ref: '#/components/schemas/TestCommonProperties'
testId:
type: string
testLastError:
$ref: '#/components/schemas/TestLastError'
testName:
type: string
required:
- clientId
- testId
TestResultDetailData:
type: object
properties:
har:
type: object
additionalProperties:
type: object
imageFiles:
type: object
additionalProperties:
type: array
items:
type: string
format: byte
logFiles:
type: object
additionalProperties:
type: string
logs:
type: string
subtransactionAvgMetrics:
type: object
additionalProperties:
type: object
subtransactions:
type: array
items:
$ref: '#/components/schemas/TestResultSubtransaction'
testId:
type: string
testResultId:
type: string
videos:
type: array
items:
type: string
format: byte
TestResultItem:
type: object
properties:
applicationId:
type: string
applicationIds:
type: array
items:
type: string
customTags:
type: object
additionalProperties:
type: string
locationId:
type: array
items:
type: string
metrics:
type: array
items:
type: object
additionalProperties:
type: object
mobileApplicationIds:
type: array
items:
type: string
serviceId:
type: string
testId:
type: string
testName:
type: string
websiteIds:
type: array
items:
type: string
required:
- testId
TestResultListItem:
type: object
properties:
metrics:
type: object
additionalProperties:
type: array
items:
type: array
items:
type: number
testResultCommonProperties:
$ref: '#/components/schemas/TestResultCommonProperties'
required:
- metrics
- testResultCommonProperties
TestResultListResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/TestResultListItem'
page:
type: integer
format: int32
description: Page Number
minimum: 1
pageSize:
type: integer
format: int32
minimum: 1
totalHits:
type: integer
format: int64
minimum: 0
required:
- items
TestResultMetadata:
type: object
properties:
metadata:
type: object
additionalProperties:
type: object
startTime:
type: integer
format: int64
testId:
type: string
testResultId:
type: string
required:
- testId
TestResultSubtransaction:
type: object
properties:
metrics:
type: object
additionalProperties:
type: object
properties:
type: object
additionalProperties:
type: object
required:
- metrics
- properties
Threshold:
type: object
deprecated: true
description: Indicates the type of threshold this alert rule is evaluated on.
discriminator:
mapping:
adaptiveBaseline: '#/components/schemas/AdaptiveBaseline'
historicBaseline: '#/components/schemas/HistoricBaseline'
staticThreshold: '#/components/schemas/StaticThreshold'
propertyName: type
properties:
operator:
type: string
enum:
- '>'
- '>='
- <
- <=
type:
type: string
required:
- operator
- type
ThresholdConfigRule:
type: object
discriminator:
mapping:
adaptiveBaseline: '#/components/schemas/AdaptiveThresholdRule'
historicBaseline: '#/components/schemas/StaticBaselineThresholdRule'
staticThreshold: '#/components/schemas/StaticThresholdRule'
propertyName: type
properties:
type:
type: string
required:
- type
ThresholdRule:
type: object
allOf:
- $ref: '#/components/schemas/AbstractRule'
- type: object
properties:
aggregation:
type: string
enum:
- sum
- avg
- min
- max
- absolute_diff
- relative_diff
conditionOperator:
type: string
enum:
- '>'
- '>='
- <
- <=
- =
- '!='
conditionValue:
type: number
format: double
metricName:
type: string
maxLength: 512
minLength: 0
metricPattern:
$ref: '#/components/schemas/MetricPattern'
rollup:
type: integer
format: int64
window:
type: integer
format: int64
required:
- conditionOperator
ThroughputApplicationAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/ApplicationAlertRule'
required:
- metricName
ThroughputMobileAppAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/MobileAppAlertRule'
required:
- metricName
ThroughputWebsiteAlertRule:
type: object
allOf:
- $ref: '#/components/schemas/WebsiteAlertRule'
required:
- metricName
TimeFrame:
type: object
description: Time range for which the data should be retrieved.
properties:
to:
type: integer
format: int64
description: 'end of timeframe expressed as the Unix epoch time in milliseconds. Eg: `ISO 8601` standard time `2024-06-27T05:05:55.615Z` can be represented as `1719464755615` in Unix epoch time in milliseconds.'
windowSize:
type: integer
format: int64
description: windowSize in milliseconds
maximum: 2678400000
minimum: 0
TimeWindow:
type: object
description: 'Time Window type of the SLO, it could be Fixed or Rolling'
discriminator:
mapping:
fixed: '#/components/schemas/FixedTimeWindow'
rolling: '#/components/schemas/RollingTimeWindow'
propertyName: type
properties:
duration:
type: integer
format: int32
description: Duration of the Time Window
durationUnit:
type: string
description: Unit of the Time Window Duration
enum:
- millisecond
- second
- minute
- hour
- day
- week
- month
timezone:
type: string
description: Timezone string
type:
type: string
required:
- duration
- durationUnit
- type
Topology:
type: object
properties:
edges:
type: array
items:
$ref: '#/components/schemas/GraphEdge'
nodes:
type: array
items:
$ref: '#/components/schemas/GraphNode'
Trace:
type: object
description: |
1. `service`: The service from where trace started.
2. `endpoint`: Endpoint of the service.
properties:
duration:
type: integer
format: int64
description: Total time taken for a trace to finish.
minimum: 0
endpoint:
$ref: '#/components/schemas/Endpoint'
erroneous:
type: boolean
description: Flag which tells whether the trace is erroneous or not
id:
type: string
description: 'The trace ID. All spans of the same trace must have the same trace ID. For example, `e93282c0d5018320`.'
label:
type: string
description: Name of the trace.
service:
$ref: '#/components/schemas/Service'
startTime:
type: integer
format: int64
description: The start time of the trace.
minimum: 1
required:
- id
- label
TraceActivityTreeNodeDetails:
type: object
properties:
batchSelfTime:
type: integer
format: int64
description: |
Sum of all self times in a batch of calls.
For example, if 5 calls are in a batch and its self times are : `[1,2,3,4,5]` in milliseconds, then the batch self time would be sum of the self times,
in this case, it will be 15 milliseconds.
batchSize:
type: integer
format: int32
description: Number of calls in a batch.
minimum: 0
destination:
$ref: '#/components/schemas/SpanRelation'
duration:
type: integer
format: int64
description: 'The total time taken for the entire operation of a call, from the moment the request was initiated to when the response was received. The time measured is in milliseconds. This is also known as latency of a call.'
minimum: 0
errorCount:
type: integer
format: int32
description: Represents whether the call is erroneous or not. 0 is not erroneous and 1 is erroneous.
minimum: 0
id:
type: string
description: 'The call ID. A unique identifier for an individual call. For example: `1bcad5c82338deaf`.'
isSynthetic:
type: boolean
writeOnly: true
label:
type: string
description: 'Name of the call. For example: `GET /articles/:id`.'
maxLength: 128
minLength: 0
logs:
type: array
description: 'Information about the logs attached to the call, if available.'
items:
$ref: '#/components/schemas/SpanExcerpt'
uniqueItems: true
minSelfTime:
type: integer
format: int64
description: The smallest self time in the batch. May be null to indicate that `minSelfTime` is unknown when this node has only an exit span and no children. The time measured is in milliseconds.
networkTime:
type: integer
format: int64
description: The time difference between the Exit Span Time of the caller and the Entry Span Time of the call. This value is measured in milliseconds and may be null if network time is not applicable.
rawSpanLoadError:
type: string
description: Whether an error occurred loading raw spans from external storage.
enum:
- UNKNOWN_ERROR
- NOT_FOUND
- PERMISSION_DENIED
- NO_ERROR
source:
$ref: '#/components/schemas/SpanRelation'
spans:
type: array
description: Information about the spans from which the call is composed.
items:
$ref: '#/components/schemas/SpanExcerpt'
maxItems: 2
minItems: 1
uniqueItems: true
start:
type: integer
format: int64
description: 'The timestamp when the call or request was initiated. For example, Unix epoch time in milliseconds `1735532879870` is `Monday, 30 December 2024 04:27:59.870 GMT`'
minimum: 1
synthetic:
type: boolean
required:
- id
- label
- logs
- spans
TraceDownloadResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
canLoadMore:
type: boolean
description: Determine if additional data is available when a new query is made using the cursor from the last item in the `items` list.
items:
type: array
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
items:
$ref: '#/components/schemas/GetTraceDownloadResultItem'
totalHits:
type: integer
format: int64
description: The total number of items that match a given filter
minimum: 0
totalRepresentedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, one row can represent multiple real items (batched call, sample multiplicity)'
minimum: 0
totalRetainedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, only a subset is retained for historic data. Each retained row can represent multiple real items due to batching.'
minimum: 0
required:
- items
TraceGroupsItem:
type: object
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
properties:
cursor:
$ref: '#/components/schemas/IngestionOffsetCursor'
metrics:
type: object
additionalProperties:
type: array
description: |
Grouped metric details like `errors.mean`, `calls.sum`.
It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`.
Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`.
items:
type: array
description: |
Grouped metric details like `errors.mean`, `calls.sum`.
It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`.
Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`.
items:
type: number
description: |
Grouped metric details like `errors.mean`, `calls.sum`.
It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`.
Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`.
description: |
Grouped metric details like `errors.mean`, `calls.sum`.
It is usually a array of key-value pair. Format of key is `metric.aggregation.granularity`, for example: `latency.p75.360`.
Format of value is `[earliest timestamp, value of key]`, for example: `[1725602720000, 0.013141001434936938]`.
name:
type: string
description: Name of the group.
timestamp:
type: integer
format: int64
description: Earliest timestamp of the trace from the group
minimum: 0
required:
- cursor
- metrics
- name
TraceGroupsResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
canLoadMore:
type: boolean
description: Determine if additional data is available when a new query is made using the cursor from the last item in the `items` list.
items:
type: array
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
items:
$ref: '#/components/schemas/TraceGroupsItem'
totalHits:
type: integer
format: int64
description: The total number of items that match a given filter
minimum: 0
totalRepresentedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, one row can represent multiple real items (batched call, sample multiplicity)'
minimum: 0
totalRetainedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, only a subset is retained for historic data. Each retained row can represent multiple real items due to batching.'
minimum: 0
required:
- items
TraceImpactApplicationTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/ApplicationTimeThreshold'
- type: object
properties:
requests:
type: integer
format: int32
minimum: 1
TraceItem:
type: object
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
properties:
cursor:
$ref: '#/components/schemas/IngestionOffsetCursor'
trace:
$ref: '#/components/schemas/Trace'
required:
- cursor
- trace
TraceResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
canLoadMore:
type: boolean
description: Determine if additional data is available when a new query is made using the cursor from the last item in the `items` list.
items:
type: array
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
items:
$ref: '#/components/schemas/TraceItem'
totalHits:
type: integer
format: int64
description: The total number of items that match a given filter
minimum: 0
totalRepresentedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, one row can represent multiple real items (batched call, sample multiplicity)'
minimum: 0
totalRetainedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, only a subset is retained for historic data. Each retained row can represent multiple real items due to batching.'
minimum: 0
required:
- items
TrafficBlueprintIndicator:
type: object
allOf:
- $ref: '#/components/schemas/ServiceLevelIndicator'
- type: object
properties:
threshold:
type: number
format: double
description: Threshold Value for the Blueprint
exclusiveMinimum: false
minimum: 0
trafficType:
type: string
enum:
- erroneous
- all
required:
- trafficType
- type
Trigger:
type: object
description: The trigger is the Instana event or Smart Alert that defines the initial conditions that must be met for the policy to apply on the actions in `typeConfiguration`.
properties:
description:
type: string
description: A description for the trigger.
id:
type: string
description: Trigger (Instana event or Smart Alert) identifier.
name:
type: string
description: A name of the trigger (name of Instana event or Smart Alert).
scheduling:
$ref: '#/components/schemas/PolicyScheduling'
type:
type: string
description: 'Instana event type, Smart Alert type, or ''schedule''. The type must be one of the enum values.'
enum:
- customEvent
- builtinEvent
- applicationSmartAlert
- globalApplicationSmartAlert
- websiteSmartAlert
- infraSmartAlert
- mobileAppSmartAlert
- syntheticsSmartAlert
- logSmartAlert
- sloSmartAlert
- schedule
required:
- type
TypeConfiguration:
type: object
description: List of configurations that contains the list of actions to run and the mode (automatic or manual) in which the policy is run.
properties:
condition:
$ref: '#/components/schemas/Condition'
name:
type: string
description: The policy type determines how a policy is run. Value must be one of the enum values. Value `manual` means the policy is run manually when an event is raised. Value `automatic` means policy is run automatically when an event is raised.
enum:
- automatic
- manual
runnable:
$ref: '#/components/schemas/PolicyRunnable'
required:
- name
- runnable
UnsupportedHttpPathSegmentMatchingRule:
type: object
allOf:
- $ref: '#/components/schemas/HttpPathSegmentMatchingRule'
- type: object
properties:
unsupportedType:
type: string
required:
- type
UpdatedBusinessPerspectiveConfig:
type: object
properties:
description:
type: string
maxLength: 300
minLength: 0
name:
type: string
maxLength: 100
minLength: 0
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
UsageResult:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/UsageResultItems'
time:
type: integer
format: int64
UsageResultItems:
type: object
properties:
name:
type: string
sims:
type: integer
format: int64
UserBasicResult:
type: object
properties:
email:
type: string
fullName:
type: string
id:
type: string
required:
- email
- fullName
- id
UserImpactMobileAppTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/MobileAppTimeThreshold'
- type: object
properties:
impactMeasurementMethod:
type: string
enum:
- AGGREGATED
- PER_WINDOW
userPercentage:
type: number
format: double
exclusiveMaximum: false
exclusiveMinimum: true
maximum: 1
minimum: 0
users:
type: integer
format: int32
minimum: 1
required:
- impactMeasurementMethod
UserImpactWebsiteTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/WebsiteTimeThreshold'
- type: object
properties:
impactMeasurementMethod:
type: string
enum:
- AGGREGATED
- PER_WINDOW
userPercentage:
type: number
format: double
exclusiveMaximum: false
exclusiveMinimum: true
maximum: 1
minimum: 0
users:
type: integer
format: int32
minimum: 1
required:
- impactMeasurementMethod
UserResult:
type: object
properties:
email:
type: string
fullName:
type: string
groupCount:
type: integer
format: int64
id:
type: string
lastLoggedIn:
type: integer
format: int64
tfaEnabled:
type: boolean
required:
- email
- fullName
- id
UsersResult:
type: object
properties:
invitations:
type: array
items:
$ref: '#/components/schemas/InvitationResult'
uniqueItems: true
users:
type: array
items:
$ref: '#/components/schemas/UserResult'
uniqueItems: true
ValidatedAlertingChannelInputInfo:
type: object
properties:
enabled:
type: boolean
description: Flag to indicate whether or not the configuration is enabled.
entityId:
type: string
description: 'The entity ID in case of Smart Alerts, such as for the application, website or mobile app.'
eventTypes:
type: array
description: 'The selected event types, if applicable.'
items:
type: string
description: 'The selected event types, if applicable.'
enum:
- incident
- critical
- warning
- change
- online
- offline
- agent_monitoring_issue
- cve_issue
- none
maxItems: 6
minItems: 0
uniqueItems: true
id:
type: string
description: ID of the alert configuration.
maxLength: 64
minLength: 0
invalid:
type: boolean
description: Flag to indicate whether the specified query is invalid.
label:
type: string
description: The name of the alert configuration.
maxLength: 256
minLength: 0
query:
type: string
description: 'The DFQ used in the alert configuration, if applicable.'
maxLength: 2048
minLength: 0
selectedEvents:
type: integer
format: int32
description: 'The number of selected events, if applicable.'
type:
type: string
description: The alert type.
enum:
- Alert
- WebsiteSmartAlert
- MobileSmartAlert
- ApplicationSmartAlert
- GlobalApplicationSmartAlert
- SyntheticSmartAlert
- InfraSmartAlert
- ServiceLevelSmartAlert
- LogSmartAlert
required:
- id
- label
- type
ValidatedAlertingConfiguration:
type: object
properties:
alertChannelNames:
type: array
description: Set of Alert Channel names added in the Alert Configuration.
items:
type: string
description: Set of Alert Channel names added in the Alert Configuration.
uniqueItems: true
alertName:
type: string
description: Name of the Alert Configuration.
maxLength: 256
minLength: 0
applicationNames:
type: array
description: Set of Application Perspective names added in the Alert Configuration.
items:
type: string
description: Set of Application Perspective names added in the Alert Configuration.
uniqueItems: true
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/StaticStringField'
maxItems: 20
minItems: 0
eventFilteringConfiguration:
$ref: '#/components/schemas/EventFilteringConfiguration'
id:
type: string
description: ID of the Alert Configuration.
maxLength: 64
minLength: 0
includeEntityNameInLegacyAlerts:
type: boolean
description: To include the entity name in a legacy alert based on built-in/custom events.
integrationIds:
type: array
description: List of Alert Channel IDs added in this Alert Configuration.
items:
type: string
description: List of Alert Channel IDs added in this Alert Configuration.
maxItems: 1024
minItems: 0
uniqueItems: true
invalid:
type: boolean
description: Flag to show whether the Alert Configuration is valid.
lastUpdated:
type: integer
format: int64
description: Unix timestamp representing the time the configuration was last updated.
minimum: 1
muteUntil:
type: integer
format: int64
description: 'Timer dictating how long the Alert Configuration will stay muted. A value of `0` means the Alert Configuration is currently enabled. Otherwise, the Alert Configuration is currently disabled (muted).'
required:
- alertName
- customPayloadFields
- eventFilteringConfiguration
- id
- integrationIds
ValidatedMaintenanceConfigV2WithStateAndOccurrence:
type: object
properties:
applicationNames:
type: array
description: Name set of the Application Perspectives within the scope of the Maintenance Window
items:
type: string
description: Name set of the Application Perspectives within the scope of the Maintenance Window
uniqueItems: true
id:
type: string
description: ID of the Maintenance Window configuration.
maxLength: 64
minLength: 0
invalid:
type: boolean
description: Boolean flag that tells if the Dynamic Focus Query(DFQ) is invalid.
lastUpdated:
type: integer
format: int64
minimum: 1
name:
type: string
description: Name of the Maintenance Window configuration.
maxLength: 256
minLength: 0
occurrence:
$ref: '#/components/schemas/Occurrence'
paused:
type: boolean
description: Boolean flag to determine if the Maintenance Window configuration is paused or still live.
query:
type: string
description: Dynamic Focus Query that determines the scope of the Maintenance Window configuration.
maxLength: 2048
minLength: 0
retriggerOpenAlertsEnabled:
type: boolean
description: 'Boolean flag to determine if we should retrigger open alerts to be sent out for any events that opened during this maintenance window, and continues to remain open after the window expires'
scheduling:
$ref: '#/components/schemas/MaintenanceConfigScheduling'
state:
type: string
description: 'State of the Maintenance Window, it can be: UNSCHEDULED, SCHEDULED, ACTIVE, PAUSED, EXPIRED.'
enum:
- UNSCHEDULED
- SCHEDULED
- ACTIVE
- PAUSED
- EXPIRED
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilterExpressionEnabled:
type: boolean
description: Boolean flag to determine if the tagFilterExpression is enabled.
required:
- id
- name
- occurrence
- query
- scheduling
ValidatedMaintenanceConfigWithStatus:
type: object
properties:
id:
type: string
description: ID of the Maintenance Window Configuration.
maxLength: 64
minLength: 0
invalid:
type: boolean
description: Boolean flag that tells if the Dynamic Focus Query(DFQ) is invalid.
lastUpdated:
type: integer
format: int64
minimum: 1
name:
type: string
description: Name of the Maintenance Window Configuration.
maxLength: 256
minLength: 0
query:
type: string
description: Dynamic Focus Query that determines the scope of the Maintenance Window configuration.
maxLength: 2048
minLength: 0
status:
type: string
description: 'Status of the Maintenance Window Configuration. It can be one of: UNSCHEDULED, SCHEDULED, ACTIVE, FINISHED, PAUSED.'
enum:
- UNSCHEDULED
- SCHEDULED
- ACTIVE
- FINISHED
- PAUSED
windows:
type: array
description: A set of time periods when the Maintenance Window Configuration is active.
items:
$ref: '#/components/schemas/MaintenanceWindow'
maxItems: 1
minItems: 0
uniqueItems: true
required:
- id
- name
- query
- status
VictorOpsIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
apiKey:
type: string
routingKey:
type: string
required:
- apiKey
- id
- kind
- name
- routingKey
ViolationsInPeriodApplicationTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/ApplicationTimeThreshold'
- type: object
properties:
violations:
type: integer
format: int32
maximum: 12
minimum: 1
ViolationsInPeriodMobileAppTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/MobileAppTimeThreshold'
- type: object
properties:
violations:
type: integer
format: int32
maximum: 12
minimum: 1
ViolationsInPeriodWebsiteTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/WebsiteTimeThreshold'
- type: object
properties:
violations:
type: integer
format: int32
maximum: 12
minimum: 1
ViolationsInSequenceApplicationTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/ApplicationTimeThreshold'
ViolationsInSequenceInfraTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/InfraTimeThreshold'
ViolationsInSequenceLogTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/LogTimeThreshold'
ViolationsInSequenceMobileAppTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/MobileAppTimeThreshold'
ViolationsInSequenceSyntheticTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTimeThreshold'
ViolationsInSequenceWebsiteTimeThreshold:
type: object
allOf:
- $ref: '#/components/schemas/WebsiteTimeThreshold'
WatsonAIOpsWebhookIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
headers:
type: array
items:
type: string
webhookUrl:
type: string
required:
- id
- kind
- name
- webhookUrl
WebexTeamsWebhookIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
webhookUrl:
type: string
required:
- id
- kind
- name
- webhookUrl
WebhookIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
headers:
type: array
items:
type: string
oauth:
$ref: '#/components/schemas/OAuthIntegration'
oauthEnabled:
type: boolean
transformationExpression:
type: string
webhookUrls:
type: array
items:
type: string
required:
- id
- kind
- name
- webhookUrls
WebpageActionConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfiguration'
- type: object
properties:
browser:
type: string
enum:
- chrome
- firefox
recordVideo:
type: boolean
url:
type: string
maxLength: 2047
minLength: 0
required:
- markSyntheticCall
- syntheticType
- url
WebpageActionConfigurationUpdate:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate'
- type: object
properties:
browser:
type: string
enum:
- chrome
- firefox
recordVideo:
type: boolean
url:
type: string
WebpageScriptConfiguration:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfiguration'
- type: object
properties:
browser:
type: string
enum:
- chrome
- firefox
fileName:
type: string
recordVideo:
type: boolean
script:
type: string
maxLength: 1048576
minLength: 0
required:
- markSyntheticCall
- script
- syntheticType
WebpageScriptConfigurationUpdate:
type: object
allOf:
- $ref: '#/components/schemas/SyntheticTypeConfigurationUpdate'
- type: object
properties:
browser:
type: string
enum:
- chrome
- firefox
fileName:
type: string
recordVideo:
type: boolean
script:
type: string
Website:
type: object
properties:
appName:
type: string
id:
type: string
name:
type: string
required:
- id
- name
WebsiteAlertConfig:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the website alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
name:
type: string
description: Name of the website alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
rule:
$ref: '#/components/schemas/WebsiteAlertRule'
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdWebsiteAlertRule'
maxItems: 1
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
maximum: 10
minimum: 5
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/TagFilter'
uniqueItems: true
writeOnly: true
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/WebsiteTimeThreshold'
triggering:
type: boolean
description: Optional flag to indicate whether an Incident is also triggered or not.
websiteId:
type: string
description: ID of the website that this Smart Alert configuration is applied to.
maxLength: 64
minLength: 0
required:
- customPayloadFields
- description
- granularity
- name
- tagFilterExpression
- timeThreshold
- websiteId
WebsiteAlertConfigWithMetadata:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
created:
type: integer
format: int64
description: Unix timestamp representing the creation time of this revision.
minimum: 1
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the website alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
enabled:
type: boolean
description: Flag to indicate whether or not the configuration is enabled.
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
id:
type: string
description: 'ID of this Website Alert Config. '
maxLength: 64
minLength: 0
initialCreated:
type: integer
format: int64
description: Unix timestamp representing the time of the initial revision.
minimum: 1
name:
type: string
description: Name of the website alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
readOnly:
type: boolean
description: Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config.
rule:
$ref: '#/components/schemas/WebsiteAlertRule'
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdWebsiteAlertRule'
maxItems: 1
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
maximum: 10
minimum: 5
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
tagFilters:
type: array
items:
$ref: '#/components/schemas/TagFilter'
uniqueItems: true
writeOnly: true
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/WebsiteTimeThreshold'
triggering:
type: boolean
description: Optional flag to indicate whether an Incident is also triggered or not.
websiteId:
type: string
description: ID of the website that this Smart Alert configuration is applied to.
maxLength: 64
minLength: 0
required:
- customPayloadFields
- description
- granularity
- id
- name
- tagFilterExpression
- timeThreshold
- websiteId
WebsiteAlertRule:
type: object
discriminator:
mapping:
customEvent: '#/components/schemas/CustomEventWebsiteAlertRule'
slowness: '#/components/schemas/SlownessWebsiteAlertRule'
specificJsError: '#/components/schemas/SpecificJsErrorsWebsiteAlertRule'
statusCode: '#/components/schemas/StatusCodeWebsiteAlertRule'
throughput: '#/components/schemas/ThroughputWebsiteAlertRule'
propertyName: alertType
properties:
aggregation:
type: string
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
alertType:
type: string
metricName:
type: string
required:
- alertType
- metricName
WebsiteApdexEntity:
type: object
allOf:
- $ref: '#/components/schemas/ApdexEntity'
- type: object
properties:
beaconType:
type: string
description: Website Beacon Type
enum:
- pageLoad
- resourceLoad
- httpRequest
- error
- custom
- pageChange
entityId:
type: string
description: Website ID
threshold:
type: integer
format: int32
description: Value of the Apdex Threshold
minimum: 1
required:
- beaconType
- entityId
- tagFilterExpression
WebsiteBeaconGroupsItem:
type: object
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
properties:
cursor:
$ref: '#/components/schemas/IngestionOffsetCursor'
earliestTimestamp:
type: integer
format: int64
minimum: 0
metrics:
type: object
additionalProperties:
type: array
items:
type: array
items:
type: number
name:
type: string
required:
- cursor
- metrics
- name
WebsiteBeaconGroupsResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
canLoadMore:
type: boolean
description: Determine if additional data is available when a new query is made using the cursor from the last item in the `items` list.
items:
type: array
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
items:
$ref: '#/components/schemas/WebsiteBeaconGroupsItem'
totalHits:
type: integer
format: int64
description: The total number of items that match a given filter
minimum: 0
totalRepresentedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, one row can represent multiple real items (batched call, sample multiplicity)'
minimum: 0
totalRetainedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, only a subset is retained for historic data. Each retained row can represent multiple real items due to batching.'
minimum: 0
required:
- items
WebsiteBeaconResult:
type: object
properties:
adjustedTimeframe:
$ref: '#/components/schemas/AdjustedTimeframe'
canLoadMore:
type: boolean
description: Determine if additional data is available when a new query is made using the cursor from the last item in the `items` list.
items:
type: array
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
items:
$ref: '#/components/schemas/WebsiteBeaconsItem'
totalHits:
type: integer
format: int64
description: The total number of items that match a given filter
minimum: 0
totalRepresentedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, one row can represent multiple real items (batched call, sample multiplicity)'
minimum: 0
totalRetainedItemCount:
type: integer
format: int64
description: 'For calls and EUM beacons, only a subset is retained for historic data. Each retained row can represent multiple real items due to batching.'
minimum: 0
required:
- items
WebsiteBeaconTagGroup:
type: object
properties:
groupbyTag:
type: string
description: The name of the group tag (e.g. `agent.tag` or `docker.label`).
maxLength: 256
minLength: 0
groupbyTagEntity:
type: string
description: |
The entity by which the data should be grouped.
This field supports three possible values: `NOT_APPLICABLE`, `DESTINATION`, and `SOURCE`.
`SOURCE`: the tag filter should apply to the source entity.
`DESTINATION`: the tag filter should apply to the destination entity.
`NOT_APPLICABLE`: some tags are independent of source or destination, such as tags on the call itself, log tags or trace tags (only destination makes sense because the source is unknown for the root call).
enum:
- NOT_APPLICABLE
- DESTINATION
- SOURCE
groupbyTagSecondLevelKey:
type: string
description: 'If present, it''s the 2nd level key part (e.g. `customKey` on `docker.label.customKey`)'
maxLength: 256
minLength: 0
required:
- groupbyTag
- groupbyTagEntity
WebsiteBeaconsItem:
type: object
description: |
Represents an array of call group item containing several attributes that describe its properties.
The item includes fields such as cursor, metrics, name, and timestamp, which provide detailed information about the item.
properties:
beacon:
$ref: '#/components/schemas/WebsiteMonitoringBeacon'
cursor:
$ref: '#/components/schemas/IngestionOffsetCursor'
impactedBeaconInfo:
$ref: '#/components/schemas/ImpactedBeaconInfo'
required:
- beacon
- cursor
WebsiteEventBasedSliEntity:
type: object
allOf:
- $ref: '#/components/schemas/SliEntity'
- type: object
properties:
badEventFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
beaconType:
type: string
description: Enum value to specify the type of beacons to be monitored
enum:
- pageLoad
- resourceLoad
- httpRequest
- error
- custom
- pageChange
goodEventFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
websiteId:
type: string
description: Specifies the ID of the Website
required:
- badEventFilterExpression
- beaconType
- goodEventFilterExpression
WebsiteEventResult:
type: object
allOf:
- $ref: '#/components/schemas/EventResult'
- type: object
properties:
websiteId:
type: string
description: ID of the website.
WebsiteMetricResult:
type: object
properties:
empty:
type: boolean
WebsiteMonitoringBeacon:
type: object
properties:
accuracyRadius:
type: integer
format: int64
minimum: -1
accurateTimingsAvailable:
type: boolean
agentVersion:
type: string
appCacheTime:
type: integer
format: int64
minimum: -1
backendTime:
type: integer
format: int64
minimum: -1
backendTraceId:
type: string
batchSize:
type: integer
format: int64
minimum: 1
beaconId:
type: string
browserName:
type: string
browserVersion:
type: string
bytesIngested:
type: integer
format: int64
cacheInteraction:
type: string
childrenTime:
type: integer
format: int64
minimum: -1
city:
type: string
clockSkew:
type: integer
format: int64
minimum: -1
componentStack:
type: string
connectionType:
type: string
continent:
type: string
continentCode:
type: string
country:
type: string
countryCode:
type: string
cspBlockedUri:
type: string
cspColumnNumber:
type: integer
format: int64
cspDisposition:
type: string
cspEffectiveDirective:
type: string
cspLineNumber:
type: integer
format: int64
cspOriginalPolicy:
type: string
cspSample:
type: string
cspSourceFile:
type: string
cumulativeLayoutShift:
type: number
format: double
customEventName:
type: string
customMetric:
type: number
format: double
decodedBodySize:
type: integer
format: int64
minimum: -1
deprecations:
type: array
items:
type: string
maxItems: 16
minItems: 0
uniqueItems: true
deviceType:
type: string
dnsTime:
type: integer
format: int64
minimum: -1
domTime:
type: integer
format: int64
minimum: -1
duration:
type: integer
format: int64
minimum: 0
encodedBodySize:
type: integer
format: int64
minimum: -1
errorCount:
type: integer
format: int64
minimum: 0
errorId:
type: string
errorMessage:
type: string
errorType:
type: string
firstContentfulPaintTime:
type: integer
format: int64
minimum: -1
firstInputDelayTime:
type: integer
format: int64
minimum: -1
firstPaintTime:
type: integer
format: int64
minimum: -1
frontendTime:
type: integer
format: int64
minimum: -1
graphqlOperationName:
type: string
graphqlOperationType:
type: string
httpCallAsynchronous:
type: boolean
httpCallCorrelationAttempted:
type: boolean
httpCallHeaders:
type: object
additionalProperties:
type: string
httpCallMethod:
type: string
httpCallOrigin:
type: string
httpCallPath:
type: string
httpCallStatus:
type: integer
format: int32
maximum: 599
minimum: -1
httpCallUrl:
type: string
initiator:
type: string
interactionNextPaint:
type: integer
format: int64
internalMeta:
type: object
additionalProperties:
type: string
label:
type: string
largestContentfulPaintTime:
type: integer
format: int64
minimum: -1
latitude:
type: number
format: double
locationOrigin:
type: string
locationPath:
type: string
locationUrl:
type: string
longitude:
type: number
format: double
meta:
type: object
additionalProperties:
type: string
onLoadTime:
type: integer
format: int64
minimum: -1
osName:
type: string
osVersion:
type: string
page:
type: string
pageLoadId:
type: string
parentBeaconId:
type: string
parsedStackTrace:
type: array
items:
$ref: '#/components/schemas/JsStackTraceLine'
maxItems: 64
minItems: 0
phase:
type: string
processingTime:
type: integer
format: int64
minimum: -1
redirectTime:
type: integer
format: int64
minimum: -1
requestTime:
type: integer
format: int64
minimum: -1
resourceType:
type: string
responseTime:
type: integer
format: int64
minimum: -1
sessionId:
type: string
snippetVersion:
type: string
sslTime:
type: integer
format: int64
minimum: -1
stackTrace:
type: string
stackTraceParsingStatus:
type: integer
format: int32
minimum: -1
stackTraceReadability:
type: integer
format: int32
minimum: 0
subdivision:
type: string
subdivisionCode:
type: string
tcpTime:
type: integer
format: int64
minimum: -1
timestamp:
type: integer
format: int64
minimum: 1
transferSize:
type: integer
format: int64
minimum: -1
type:
type: string
unloadTime:
type: integer
format: int64
minimum: -1
useFeatures:
type: array
items:
type: string
maxItems: 15
minItems: 0
userEmail:
type: string
userId:
type: string
userIp:
type: string
userLanguages:
type: array
items:
type: string
maxItems: 5
minItems: 0
userName:
type: string
websiteId:
type: string
websiteLabel:
type: string
windowHeight:
type: integer
format: int32
minimum: -1
windowHidden:
type: boolean
windowWidth:
type: integer
format: int32
minimum: -1
required:
- beaconId
- locationOrigin
- locationUrl
- pageLoadId
- type
- websiteId
- websiteLabel
WebsiteMonitoringMetricDescription:
type: object
properties:
aggregations:
type: array
description: |
The types of aggregations that can be applied to a series of values.
For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics.
For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`.
items:
type: string
description: |
The types of aggregations that can be applied to a series of values.
For example, `P25` is 25th percentile. Note that not all aggregations are available for metrics.
For example, `Trace count` has only `SUM` as an aggregation whereas `Call Count` has two aggregations, `SUM` and `PER_SECOND`.
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
uniqueItems: true
beaconTypes:
type: array
items:
type: string
uniqueItems: true
defaultAggregation:
type: string
description: 'The preselected aggregation for a metric. For example, for `Call latency` the default aggregation is `MEAN`.'
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
description:
type: string
description: 'A description of the metric. For example, for `Call count` metric, the description would be something like `Number of received calls`'
formatter:
type: string
description: |
* `NUMBER`: Generic number
* `BYTES`: Number of bytes
* `KILO_BYTES`: Number of kilobytes
* `MEGA_BYTES`: Number of megabytes
* `PERCENTAGE`: Percentage in scale [0,1]
* `PERCENTAGE_100`: Percentage in scale [0,100]
* `PERCENTAGE_NO_CAPPING`: Percentage in scale [0,1] but value could exceed 1 for example when metric is aggregated
* `PERCENTAGE_100_NO_CAPPING`: Percentage in scale [0,100] but value could exceed 100 for example when metric is aggregated
* `LATENCY`: Time in milliseconds, with value of 0 should not be considered a a strict 0, but considered as < 1ms
* `NANOS`: Time in nanoseconds
* `MILLIS`: Time in milliseconds
* `MICROS`: Time in microseconds
* `SECONDS`: Time in seconds
* `RATE`: Number of occurrences per second
* `BYTE_RATE`: Number of bytes per second
* `UNDEFINED`: Metric value unit is not known
label:
type: string
description: 'The name of the metric. For example, `Call count`, `Erroneous calls`, `Service count` etc.'
metricId:
type: string
description: 'The unique id of the metric. For example, `calls`, `erroneousCalls`, `latency` etc.'
pathToValueInBeacon:
type: array
items:
type: string
maxItems: 2147483647
minItems: 1
tagName:
type: string
required:
- aggregations
- beaconTypes
- formatter
- label
- metricId
WebsiteMonitoringMetricsConfiguration:
type: object
properties:
aggregation:
type: string
description: 'Set aggregation that can be applied to a series of values. Eg: `MEAN`.'
enum:
- SUM
- MEAN
- MAX
- MIN
- P25
- P50
- P75
- P90
- P95
- P98
- P99
- P99_9
- P99_99
- DISTINCT_COUNT
- SUM_POSITIVE
- PER_SECOND
- INCREASE
granularity:
type: integer
format: int32
description: 'If the granularity is set you will get data points with the specified granularity in seconds. Default: `1000` milliseconds'
metric:
type: string
description: 'Set a particular metric, eg: `latency`.'
required:
- aggregation
- metric
WebsiteSloEntity:
type: object
allOf:
- $ref: '#/components/schemas/SloEntity'
- type: object
properties:
beaconType:
type: string
description: Type of Website Beacon to be considered for the SLO
enum:
- pageLoad
- resourceLoad
- httpRequest
- error
- custom
- pageChange
websiteId:
type: string
description: The ID of the Website
required:
- beaconType
- websiteId
WebsiteTimeBasedSliEntity:
type: object
allOf:
- $ref: '#/components/schemas/SliEntity'
- type: object
properties:
beaconType:
type: string
description: Enum value to specify the type of beacons to be monitored
enum:
- pageLoad
- resourceLoad
- httpRequest
- error
- custom
- pageChange
filterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
websiteId:
type: string
description: Specifies the ID of the Website
required:
- beaconType
WebsiteTimeThreshold:
type: object
description: The type of threshold to define the criteria when the event and alert triggers and resolves.
discriminator:
mapping:
userImpactOfViolationsInSequence: '#/components/schemas/UserImpactWebsiteTimeThreshold'
violationsInPeriod: '#/components/schemas/ViolationsInPeriodWebsiteTimeThreshold'
violationsInSequence: '#/components/schemas/ViolationsInSequenceWebsiteTimeThreshold'
propertyName: type
properties:
timeWindow:
type: integer
format: int64
type:
type: string
required:
- type
Widget:
type: object
properties:
config:
type: object
height:
type: integer
format: int32
minimum: 1
id:
type: string
maxLength: 64
minLength: 0
title:
type: string
type:
type: string
width:
type: integer
format: int32
maximum: 12
minimum: 1
x:
type: integer
format: int32
maximum: 11
minimum: 0
'y':
type: integer
format: int32
minimum: 0
required:
- config
- id
- type
WithMetadata:
type: object
properties:
alertChannelIds:
type: array
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
items:
type: string
deprecated: true
description: List of IDs of alert channels defined in Instana. Can be left empty.
maxItems: 1024
minItems: 0
uniqueItems: true
alertChannels:
type: object
additionalProperties:
type: array
description: Set of alert channel IDs associated with the severity.
items:
type: string
description: Set of alert channel IDs associated with the severity.
uniqueItems: true
description: Set of alert channel IDs associated with the severity.
completeTagFilterExpression:
$ref: '#/components/schemas/TagFilterExpression'
created:
type: integer
format: int64
description: Unix timestamp representing the creation time of this revision.
minimum: 1
customPayloadFields:
type: array
description: Custom payload fields to send additional information in the alert notifications. Can be left empty.
items:
$ref: '#/components/schemas/CustomPayloadField'
maxItems: 20
minItems: 0
description:
type: string
description: Description of the mobile app alert configuration. Used as a template for the description of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 65536
minLength: 0
enabled:
type: boolean
description: Flag to indicate whether or not the configuration is enabled.
gracePeriod:
type: integer
format: int64
description: 'The duration for which an alert remains open after conditions are no longer violated, with the alert auto-closing once the grace period expires.'
granularity:
type: integer
format: int32
default: 600000
description: The evaluation granularity used for detection of violations of the defined threshold. Defines the size of the tumbling window used.
enum:
- 60000
- 300000
- 600000
- 900000
- 1200000
- 1800000
id:
type: string
description: 'ID of this Mobile App Alert Config. '
maxLength: 64
minLength: 0
initialCreated:
type: integer
format: int64
description: Unix timestamp representing the time of the initial revision.
minimum: 1
mobileAppId:
type: string
description: ID of the mobile app that this Smart Alert configuration is applied to.
maxLength: 64
minLength: 0
name:
type: string
description: Name of the mobile app alert configuration. Used as a template for the title of alert/event notifications triggered by this Smart Alert configuration.
maxLength: 256
minLength: 0
readOnly:
type: boolean
description: Flag to indicate whether or not the configuration is read-only. Read-only access restricts modification of the config.
rule:
$ref: '#/components/schemas/MobileAppAlertRule'
rules:
type: array
description: A list of rules where each rule is associated with multiple thresholds and their corresponding severity levels. This enables more complex alert configurations with validations to ensure consistent and logical threshold-severity combinations.
items:
$ref: '#/components/schemas/RuleWithThresholdMobileAppAlertRule'
maxItems: 1
minItems: 1
severity:
type: integer
format: int32
deprecated: true
description: 'The severity of the alert when triggered, which is either 5 (Warning), or 10 (Critical).'
maximum: 10
minimum: 5
tagFilterExpression:
$ref: '#/components/schemas/TagFilterExpressionElement'
threshold:
$ref: '#/components/schemas/Threshold'
timeThreshold:
$ref: '#/components/schemas/MobileAppTimeThreshold'
triggering:
type: boolean
description: Optional flag to indicate whether an Incident is also triggered or not.
required:
- customPayloadFields
- description
- granularity
- id
- mobileAppId
- name
- tagFilterExpression
- timeThreshold
WithResolvedName:
type: object
allOf:
- $ref: '#/components/schemas/Author'
- type: object
properties:
fullName:
type: string
ZChatOpsIntegration:
type: object
allOf:
- $ref: '#/components/schemas/AbstractIntegration'
- type: object
properties:
bearerAuthToken:
type: string
channels:
type: array
items:
type: string
maxItems: 1
minItems: 0
zchatOpsIncidentsUrl:
type: string
required:
- bearerAuthToken
- id
- kind
- name
- zchatOpsIncidentsUrl
securitySchemes:
ApiKeyAuth:
in: header
name: authorization
type: apiKey
description: |
## Example
```bash
curl --request GET \
--url https://test-instana.instana.io/api/application-monitoring/catalog/metrics \
--header 'authorization: apiToken xxxxxxxxxxxxxxxx'
```
x-tagGroups:
- name: Websites & Mobile Apps
tags:
- Website Metrics
- Website Catalog
- Website Analyze
- Website Configuration
- Mobile App Metrics
- Mobile App Catalog
- Mobile App Analyze
- Mobile App Configuration
- End User Monitoring
- name: Applications
tags:
- Application Metrics
- Application Resources
- Application Catalog
- Application Analyze
- Application Settings
- Application Topology
- Application Alert Configuration
- Global Application Alert Configuration
- name: Infrastructure
tags:
- Infrastructure Analyze
- Infrastructure Metrics
- Infrastructure Resources
- Infrastructure Catalog
- Infrastructure Topology
- name: Logging
tags:
- Logging Analyze
- name: Synthetic Monitoring
tags:
- Synthetic Catalog
- Synthetic Metrics
- Synthetic Settings
- Synthetic Test Playback Results
- Synthetic Alert Configuration
- name: Logs
tags:
- Log Alert Configuration
- name: Events
tags:
- Events
- Event Settings
- name: Automation
tags:
- Action Catalog
- Action History
- Policies
- name: Service Levels
tags:
- SLI Settings
- SLI Report
- Apdex Settings
- Apdex Report
- Service Levels Objective(SLO) Configurations
- Service Levels Objective(SLO) Report
- Service Levels Alert Configuration
- SLO Correction Configurations
- SLO Correction Windows
- name: AI Management
tags:
- AI Management
- name: Settings
tags:
- Custom Dashboards
- User
- Groups
- Teams
- Roles
- Audit Log
- API Token
- Maintenance Configuration
- Synthetic Calls
- Session Settings
- Automation Settings
- Authentication
- name: Open Beta Features
tags:
- Infrastructure Analyze
- name: Closed Beta Features
tags:
- Infrastructure Alert Configuration
- name: Instana
tags:
- Releases
- Host Agent
- Health
- Usage