ThousandEyes Cloud Insights Integrations API

Manage Cloud Insights integrations for AWS and Azure.

Operations 14

GET /cloud-insights/integration/aws List AWS integrations #
GET /cloud-insights/integration/aws/{integrationId} Get AWS integration #
DELETE /cloud-insights/integration/aws/{integrationId} Delete AWS integration #
POST /cloud-insights/integration/aws/inventory Create AWS inventory monitoring integration #
POST /cloud-insights/integration/aws/flow-logs Create AWS flow logs monitoring integration #
GET /cloud-insights/integration/aws/inventory/policies Get AWS inventory monitoring IAM policies #
GET /cloud-insights/integration/aws/flow-logs/policies Get AWS flow logs monitoring IAM policies #
GET /cloud-insights/integration/azure List Azure integrations #
GET /cloud-insights/integration/azure/{integrationId} Get Azure integration #
DELETE /cloud-insights/integration/azure/{integrationId} Delete Azure integration #
POST /cloud-insights/integration/azure/inventory Create Azure inventory monitoring integration #
POST /cloud-insights/integration/azure/flow-logs Create Azure flow logs monitoring integration #
PUT /cloud-insights/integration/azure/inventory/{integrationId} Update Azure inventory monitoring integration #
PUT /cloud-insights/integration/azure/flow-logs/{integrationId} Update Azure flow logs monitoring integration #

Documentation

📖
APIReference
https://developer.cisco.com/docs/thousandeyes/administration-administrative-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/api-token-management-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/agents-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/alerts-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/autonomous-systems-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/bgp-monitors-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/cloud-insights-integrations-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/credentials-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/dashboards-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/emulation-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-agents-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-instant-scheduled-tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-labels-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-test-results-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/endpoint-tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/event-detection-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/integrations-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/internet-insights-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/snapshots-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/tags-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/templates-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/instant-tests-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/test-results-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/thousandeyes-for-opentelemetry-api-overview/
📖
APIReference
https://developer.cisco.com/docs/thousandeyes/usage-api-overview/

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thousandeyes-cloud-insights-integrations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thousandeyes-cloud-insights-integrations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 7.0.100
  title: Cloud Insights Integrations API
  description: "**Note:** All Cloud Insights APIs are not available for ThousandEyes for Government instance.\n\nThe Cloud Insights Integrations API lets you programmatically manage **AWS** and **Azure** monitoring integrations in ThousandEyes.\n\n\n### What You Can Do\n\n- **List** all integrations.\n\n- **Get** details for a specific integration.\n\n- **Delete** an existing integration.\n\n- **Create** integrations for:\n\n  - **AWS**: inventory monitoring and flow logs monitoring.\n  \n  - **Azure**: inventory monitoring and flow logs monitoring.\n\n- **Update** integrations for:\n\n  - **Azure**: inventory monitoring and flow logs monitoring.\n  \n- **Fetch AWS IAM policy documents** required to configure AWS inventory and flow-logs integrations.\n\n- **Retrieve** the current AWS and Azure integration policy settings to understand which AWS and Azure resource groups, AWS regions, Azure subscription rules are enabled and whether CloudTrail is enabled for Cloud Insights for inventory monitoring.\n\n- **Update** policy settings to change the approved AWS resource groups, AWS regions, and Azure subscription rules that ThousandEyes should inventory.\n\n\n### Scope and Tenancy\n\nAll operations are scoped to the authenticated account group. Responses include only resources associated with that group.\n\n\n### Payloads and formats\n\n- **Requests:** `application/json`\n\n- **Responses:** primarily `application/hal+json` for resource representations and `application/json` for policy documents.\n\n- HAL responses include `_links` with a `self` relation for direct navigation.\n\n\n### Integration Types\n\n- **Inventory monitoring**\n\n  - AWS: reads inventory and network topology via read-only IAM permissions.\n  \n  - Azure: authenticates with a Service Principal to read inventory and network topology.\n  \n- **Flow logs monitoring**\n\n  - AWS: reads flow logs from S3 buckets and uses SNS for notifications.\n  \n  - Azure: reads flow logs via **Service Bus Queue** (`serviceBusQueueUrl`).\n  \n\n### Policy Helpers (AWS)\n\nDedicated endpoints return **Trusted Policy**, **Permissions Policy**, and **SNS Topic Access Policy** documents to simplify role setup for inventory and flow logs integrations.\n\n\n### Notes\n\n- All example values in this specification are **fictitious**.\n\n\nFor more information about Cloud Insights, see [Cloud Insights](https://docs.thousandeyes.com/product-documentation/cloud-insights).\n"
  x-provenance:
    method: harvested
    authored_by: Cisco ThousandEyes
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    provider_published: true
    source_host: pubhub.devnetcloud.com
    note: 27 OpenAPI 3.0 documents (26 per-area plus a unified 326-operation document) served anonymously from Cisco's DevNet CDN. api.thousandeyes.com itself 401s every path, so the contract is public while the API host is gated.
  x-evidence:
  - type: source
    url: https://pubhub.devnetcloud.com/media/000-v7-apis/docs/reference/
  - type: source
    url: https://developer.cisco.com/docs/thousandeyes/
servers:
- description: ThousandEyes API production URL
  url: https://api.thousandeyes.com/v7
security:
- BearerAuth: []
tags:
- name: Cloud Insights Integrations
  description: Manage Cloud Insights integrations for AWS and Azure.
paths:
  /cloud-insights/integration/aws:
    get:
      tags:
      - Cloud Insights Integrations
      summary: List AWS integrations
      operationId: getAllAWSMonitoringIntegrations
      description: Retrieves all AWS inventory and flow logs monitoring integrations configured for the authenticated account group in ThousandEyes.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      responses:
        '200':
          description: 'The response is an array of integration objects, where each object represents either an Inventory Monitoring or Flow Logs Monitoring integration. Each integration includes metadata such as: id — the unique identifier of the integration; name — the user-defined name of the integration; roleArn — the AWS IAM role ARN that ThousandEyes assumes to access your AWS resources; externalId — the external identifier used for secure cross-account role assumption; monitoringType — specifies whether the integration monitors AWS inventory (inventory-monitoring) or flow logs (flow-logs-monitoring); snsTopicsArns — a list of SNS topic ARNs used for flow logs monitoring (only present for flow logs monitoring integrations); links — HAL-style link relations that provide the "self" URL for retrieving integration details. This endpoint can be used to: audit all existing AWS integrations configured for Cloud Insights, identify which integrations are set up for inventory versus flow logs monitoring, and retrieve integration IDs for further API operations such as inspection (GET /cloud-insights/integration/aws/{integrationId}) or deletion (DELETE). The response is returned as a JSON array conforming to the AwsMonitoringIntegration schema.

            '
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AwsMonitoringIntegrations'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/aws/{integrationId}:
    get:
      tags:
      - Cloud Insights Integrations
      summary: Get AWS integration
      operationId: getAWSMonitoringIntegration
      description: Retrieves details for a specific AWS inventory or flow logs monitoring integration associated with the authenticated account group using the unique integration ID.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      - $ref: '#/components/parameters/IntegrationId'
      responses:
        '200':
          description: 'The response contains a single integration object representing either: AWS inventory monitoring integration or AWS flow logs monitoring integration. Each integration includes metadata that defines its configuration: id — the unique identifier of the integration; name — the user-defined name of the integration; roleArn — the AWS IAM role ARN that ThousandEyes assumes to access your AWS resources; externalId — the external identifier used for secure cross-account role assumption; monitoringType — identifies whether the integration monitors AWS inventory (inventory-monitoring) or flow logs (flow-logs-monitoring); snsTopicsArns — a list of SNS topic ARNs associated with flow logs monitoring (only present for flow-logs-monitoring integrations); links — HAL-style link relations that include a self URL pointing to this integration resource. This endpoint is typically used to: retrieve detailed configuration information for a specific AWS integration, verify that the integration is correctly set up and associated with the expected AWS IAM role, and obtain integration details before performing deletion or troubleshooting operations.

            '
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AwsMonitoringIntegration'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
    delete:
      tags:
      - Cloud Insights Integrations
      summary: Delete AWS integration
      operationId: deleteAwsMonitoringIntegration
      description: Deletes a specific AWS inventory or flow logs monitoring integration using the AWS integration ID.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      - $ref: '#/components/parameters/IntegrationId'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/aws/inventory:
    post:
      tags:
      - Cloud Insights Integrations
      summary: Create AWS inventory monitoring integration
      operationId: createAWSInventoryMonitoringIntegration
      description: Creates a new AWS inventory monitoring integration.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AwsInventoryIntegrationRequest'
      responses:
        '201':
          description: AWS inventory monitoring integration created successfully.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AwsMonitoringIntegration'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/aws/flow-logs:
    post:
      tags:
      - Cloud Insights Integrations
      summary: Create AWS flow logs monitoring integration
      operationId: createAWSFlowLogsMonitoringIntegration
      description: Creates a new AWS flow logs monitoring integration.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AwsFlowLogsIntegrationRequest'
      responses:
        '201':
          description: AWS flow logs monitoring integration created successfully.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AwsMonitoringIntegration'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/aws/inventory/policies:
    get:
      tags:
      - Cloud Insights Integrations
      summary: Get AWS inventory monitoring IAM policies
      operationId: getAWSInventoryMonitoringIntegrationPolicies
      description: Retrieves the AWS IAM policies required to configure an AWS inventory monitoring integration in JSON string format for the authenticated account group.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      responses:
        '200':
          description: 'The response includes a JSON object containing two key policy documents: 1) Trusted Policy — defines the trust relationship that allows ThousandEyes to assume a specified AWS IAM role through sts:AssumeRole. This policy includes the Principal ARN for ThousandEyes and the required ExternalId condition; 2) Permissions Policy — lists the AWS service-level read permissions needed by ThousandEyes Cloud Insights to inventory network resources. These permissions cover services such as EC2, VPC, Transit Gateway, Direct Connect, CloudFront, ELB, CloudTrail, ECS/EKS, and S3. Use these policies when creating or updating the IAM role that ThousandEyes will use for inventory monitoring. The response is returned as a JSON string in the policies object.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsMonitoringPoliciesJsonString'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/aws/flow-logs/policies:
    get:
      tags:
      - Cloud Insights Integrations
      summary: Get AWS flow logs monitoring IAM policies
      operationId: getAWSFlowlogsMonitoringIntegrationPolicies
      description: Retrieves the AWS IAM policies required to configure an AWS flow logs monitoring integration in JSON string format for the authenticated account group.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      responses:
        '200':
          description: 'The response contains a JSON object with the following policy documents under the policies key: 1) Trusted Policy — defines the trust relationship that allows ThousandEyes to assume a specified AWS IAM role via sts:AssumeRole. This includes the Principal ARN for ThousandEyes and the required ExternalId condition for secure cross-account access; 2) Permissions Policy — grants ThousandEyes read-only access to the Amazon S3 buckets where flow logs are stored. The policy includes permissions such as s3:GetObject and s3:ListBucket, scoped to the relevant flow log S3 bucket ARNs; 3) SNS Topic Access Policy — allows ThousandEyes to subscribe to Amazon SNS topics that receive flow log delivery notifications. It also enables the S3 service to publish events to those topics, ensuring ThousandEyes can be notified of new log data. This policy includes permissions for both SNS:Subscribe (for ThousandEyes) and SNS:Publish (for S3 event notifications). Use these policies when configuring the IAM role and SNS topic permissions required by ThousandEyes Cloud Insights to collect and monitor AWS flow logs data across your account. The response is returned as a JSON string in the policies object.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AwsMonitoringPoliciesJsonString'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/azure:
    get:
      tags:
      - Cloud Insights Integrations
      summary: List Azure integrations
      operationId: getAllAzureMonitoringIntegrations
      description: Retrieves all Azure inventory and flow logs monitoring integrations configured for the authenticated account group in ThousandEyes.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      responses:
        '200':
          description: 'The response is an array of integration objects, where each object represents either an Azure Inventory Monitoring or Azure Flow Logs Monitoring integration. Each integration includes metadata such as: id — the unique identifier of the integration; name — the user-defined name of the integration; appId / clientId — the Azure Application (client) ID of the service principal used for authentication; password / clientSecret — the client secret value associated with the service principal (note: for security reasons, the actual secret is never returned. The response includes a masked value ("********") instead); azureTenantId — the Azure Active Directory tenant ID associated with the integration; serviceBusQueueUrl — the Service Bus queue URL used for flow logs monitoring (only present for azure-flow-logs-monitoring integrations); monitoringType — specifies whether the integration monitors Azure resources (azure-inventory-monitoring) or Azure flow logs (azure-flow-logs-monitoring); links — HAL-style link relations that provide the "self" URL for retrieving integration details. This endpoint can be used to: audit all existing Azure integrations configured for Cloud Insights, identify which integrations are configured for inventory versus flow logs monitoring, and retrieve integration IDs for further API operations such as inspection (GET /cloud-insights/integration/azure/{integrationId}) or deletion (DELETE). The response is returned as a JSON array conforming to the AwsMonitoringIntegration schema.

            '
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AzureMonitoringIntegrations'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/azure/{integrationId}:
    get:
      tags:
      - Cloud Insights Integrations
      summary: Get Azure integration
      operationId: getAzureMonitoringIntegration
      description: Retrieves details for a specific Azure inventory or flow logs monitoring integration associated with the authenticated account group using the unique integration ID.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      - $ref: '#/components/parameters/IntegrationId'
      responses:
        '200':
          description: 'The response contains a single integration object representing either: Azure Inventory Monitoring integration or Azure Flow Logs Monitoring integration. Each integration includes metadata that defines its configuration: id — the unique identifier of the integration; name — the user-defined name of the integration; appId / clientId — the Azure Application (client) ID of the service principal used for authentication; password / clientSecret — the client secret value associated with the service principal (note: for security reasons, the actual secret is never returned. The response includes a masked value ("********") instead; azureTenantId — the Azure Active Directory tenant ID for the integration; serviceBusQueueUrl — the Service Bus queue URL used for receiving Flow Logs (only present for azure-flow-logs-monitoring integrations); monitoringType — identifies whether the integration monitors Azure resources (azure-inventory-monitoring) or flow logs (azure-flow-logs-monitoring); links — HAL-style link relations that include a "self" URL pointing to this integration resource. This endpoint is typically used to: retrieve detailed configuration information for a specific Azure integration, validate that the integration credentials and type (inventory or flow logs) are correctly configured, and obtain integration details before performing update or deletion operations.

            '
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AzureMonitoringIntegration'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
    delete:
      tags:
      - Cloud Insights Integrations
      summary: Delete Azure integration
      operationId: deleteAzureMonitoringIntegration
      description: Deletes a specific Azure inventory or flow logs monitoring integration using the Azure integration ID.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      - $ref: '#/components/parameters/IntegrationId'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/azure/inventory:
    post:
      tags:
      - Cloud Insights Integrations
      summary: Create Azure inventory monitoring integration
      operationId: createAzureInventoryMonitoringIntegration
      description: Creates a new Azure inventory monitoring integration.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureInventoryIntegrationRequest'
      responses:
        '201':
          description: Azure inventory monitoring integration created successfully.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AzureMonitoringIntegration'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/azure/flow-logs:
    post:
      tags:
      - Cloud Insights Integrations
      summary: Create Azure flow logs monitoring integration
      operationId: createAzureFlowLogsMonitoringIntegration
      description: Creates a new Azure flow logs monitoring integration.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureFlowLogsIntegrationRequest'
      responses:
        '201':
          description: Azure flow logs monitoring integration created successfully.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AzureMonitoringIntegration'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/azure/inventory/{integrationId}:
    put:
      tags:
      - Cloud Insights Integrations
      summary: Update Azure inventory monitoring integration
      operationId: updateAzureInventoryMonitoringIntegration
      description: Updates an existing Azure inventory monitoring integration.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      - $ref: '#/components/parameters/IntegrationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureInventoryIntegrationRequest'
      responses:
        '200':
          description: Azure inventory monitoring integration updated successfully.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AzureMonitoringIntegration'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
  /cloud-insights/integration/azure/flow-logs/{integrationId}:
    put:
      tags:
      - Cloud Insights Integrations
      summary: Update Azure flow logs monitoring integration
      operationId: updateAzureFlowLogsMonitoringIntegration
      description: Updates an existing Azure flow logs monitoring integration.
      parameters:
      - $ref: '#/components/parameters/AccountGroupId'
      - $ref: '#/components/parameters/IntegrationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AzureFlowLogsIntegrationRequest'
      responses:
        '200':
          description: Azure flow logs monitoring integration updated successfully.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/AzureMonitoringIntegration'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
components:
  schemas:
    ValidationError:
      type: object
      allOf:
      - $ref: '#/components/schemas/Error'
      - type: object
        properties:
          errors:
            type:
            - array
            - 'null'
            description: (Optional) When multiple errors occur, the details for each error are listed.
            items:
              $ref: '#/components/schemas/ValidationErrorItem'
    AwsMonitoringIntegration:
      required:
      - id
      - name
      - roleArn
      - externalId
      - monitoringType
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique ID for the AWS inventory or flow logs monitoring integration.
          example: e9c3bf02-a48c-4aa8-9e5f-898800d6f569
        name:
          type: string
          description: The name of the AWS inventory or flow logs monitoring integration.
          example: integration name
        roleArn:
          type: string
          description: The ARN of the AWS role to be monitored.
          example: arn:aws:iam::01234567890:role/aws-monitoring-ro
        externalId:
          type: string
          description: The external ID associated with the account group.
          example: 37d8f861cffd34212b5a34466564da1f80b01a30
        monitoringType:
          description: The type of monitoring integration.
          type: string
          example: inventory-monitoring
          enum:
          - inventory-monitoring
          - flow-logs-monitoring
        snsTopicsArns:
          type: array
          items:
            type: string
          description: The array of SNS topic ARNs. Relevant only for flow logs monitoring integrations.
          example:
          - arn:aws:sns:us-east-1:01234567890:SNS-Topic-US
          - arn:aws:sns:eu-central-1:01234567890:SNS-Topic-EU
        _links:
          $ref: '#/components/schemas/SelfLinks'
    AwsFlowLogsIntegrationRequest:
      required:
      - name
      - roleArn
      - snsTopicsArns
      type: object
      properties:
        name:
          type: string
          description: The name of the AWS flow logs monitoring integration.
          example: integration name
        roleArn:
          type: string
          description: The ARN of the AWS role to be monitored.
          example: arn:aws:iam::01234567890:role/aws-flow-logs-ro
        snsTopicsArns:
          type: array
          items:
            type: string
          description: The array of SNS topics ARNs.
          example:
          - arn:aws:sns:us-east-1:01234567890:SNS-Topic-US
          - arn:aws:sns:eu-central-1:01234567890:SNS-Topic-EU
    AzureMonitoringIntegration:
      required:
      - id
      - name
      - appId
      - password
      - azureTenantId
      - monitoringType
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: The unique ID for the Azure inventory or flow logs monitoring integration.
          example: e9c3bf02-a48c-4aa8-9e5f-898800d6f569
        name:
          type: string
          description: The name of the Azure inventory or flow logs monitoring integration.
          example: integration name
        appId:
          type: string
          description: The Application (client) ID of the service principal.
          example: 2f9b2a1c-6d87-4c92-9d51-37efc93c0a4f
        password:
          type: string
          description: The client secret value. For security reasons, the client secret value is masked.
          example: '********'
        azureTenantId:
          type: string
          description: The Azure Active Directory tenant ID.
          example: e3a72c9b-42b1-4e0b-9b9f-7f6a3b2a1c44
        serviceBusQueueUrl:
          type: string
          description: The URL of the Service Bus Queue. Relevant only for flow logs monitoring integrations.
          example: https://your-service-bus-namespace.servicebus.windows.net/your-queue-name
        monitoringType:
          description: The type of monitoring integration.
          type: string
          example: azure-inventory-monitoring
          enum:
          - azure-inventory-monitoring
          - azure-flow-logs-monitoring
        _links:
          $ref: '#/components/schemas/SelfLinks'
    AwsInventoryIntegrationRequest:
      required:
      - name
      - roleArn
      type: object
      properties:
        name:
          type: string
          description: The name of the AWS inventory monitoring integration.
          example: integration name
        roleArn:
          type: string
          description: The ARN of the AWS role to be monitored.
          example: arn:aws:iam::01234567890:role/aws-inventory-ro
    ValidationErrorItem:
      type: object
      properties:
        code:
          type: string
          description: (Optional) A unique error type/code that can be referenced in the documentation for further details.
        field:
          type: string
          description: Identifies the field that triggered this particular error.
        message:
          type: string
          description: A short, human-readable summary of the error.
    AwsMonitoringPoliciesJsonString:
      type: string
      description: JSON policies for AWS monitoring integration as string.
    AwsMonitoringIntegrations:
      required:
      - integrations
      type: object
      description: A HAL resource containing a list of AWS monitoring integrations and navigation links.
      properties:
        integrations:
          type: array
          description: The list of AWS inventory and flow logs monitoring integrations.
          items:
            $ref: '#/components/schemas/AwsMonitoringIntegration'
        _links:
          $ref: '#/components/schemas/SelfLinks'
    UnauthorizedError:
      type: object
      properties:
        error:
          type: string
          example: invalid_token
        error_description:
          type: string
          example: Invalid access token
    AzureMonitoringIntegrations:
      required:
      - integrations
      type: object
      description: A HAL resource containing a list of Azure inventory and flow logs monitoring integrations.
      properties:
        integrations:
          type: array
          description: The list of Azure inventory and flow logs monitoring integrations.
          items:
            $ref: '#/components/schemas/AzureMonitoringIntegration'
        _links:
          $ref: '#/components/schemas/SelfLinks'
    Link:
      type: object
      description: A hyperlink from the containing resource to a URI.
      required:
      - href
      properties:
        href:
          type: string
          description: Its value is either a URI [RFC3986] or a URI template [RFC6570].
          example: https://api.thousandeyes.com/v7/link/to/resource/id
        templated:
          type: boolean
          description: Should be true when the link object's "href" property is a URI template.
        type:
          type: string
          description: Used as a hint to indicate the media type expected when dereferencing the target resource.
        deprecation:
          type: string
          description: Its presence indicates that the link is to be deprecated at a future date. Its value is a URL that should provide further information about the deprecation.
        name:
          type: string
       

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thousandeyes/refs/heads/main/openapi/thousandeyes-cloud-insights-integrations-api-openapi.yml