Instana Synthetic Alert Configuration API

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.

OpenAPI Specification

instana-synthetic-alert-configuration-api-openapi.yml Raw ↑
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 Synthetic Alert Configuration API
  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<div style=\"background-color:#e6f0ff; padding: 12px; border-left: 6px solid #0052cc; font-size: 14px; display: flex; align-items: center;\">\n  <img src=\"https://img.icons8.com/ios-filled/50/0052cc/info.png\" width=\"18\" height=\"18\" style=\"margin-right: 8px;\" alt=\"info icon\"/>\n  <span>\n    <b>Our API documentation is moving to</b> \n    <a href=\"https://developer.ibm.com/apis/catalog/instana--instana-rest-api/Introduction\" target=\"_blank\">API Hub</a>\n\t — please update your bookmarks now, as the current site will be deprecated after Release-306.\n  </span>\n</div>\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: 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.


    '
paths:
  /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
components:
  schemas:
    Author:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - API
          - USER
          - INSTANA
          - UNKNOWN
    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
    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
    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
          

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/instana/refs/heads/main/openapi/instana-synthetic-alert-configuration-api-openapi.yml