swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  title: TrafficManagerManagementClient
  version: 2017-09-01-preview
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/trafficmanager/resource-manager/Microsoft.Network/preview/2017-09-01-preview/trafficmanageranalytics.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: trafficmanager-trafficmanageranalytics
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
parameters:
  ApiVersionParameter:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    description: Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/trafficManagerUserMetricsKeys":
    delete:
      description: Delete a subscription-level key used for Real User Metrics collection.
      operationId: TrafficManagerUserMetricsKeys_Delete
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The Traffic Manager Real User Metrics key was deleted successfully.
          schema:
            $ref: "#/definitions/DeleteOperationResult"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - RealUserMetrics
      x-ms-examples:
        TrafficManagerUserMetricsKeys-DELETE:
          parameters:
            api-version: 2017-09-01-preview
            subscriptionId: e68d4145-c9ae-4667-925d-c51c8d88ad73
          responses:
            "200":
              body: ""
    get:
      description: Get the subscription-level key used for Real User Metrics collection.
      operationId: TrafficManagerUserMetricsKeys_Get
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: The subscription-level Traffic Manager Real User Metrics key.
          schema:
            $ref: "#/definitions/TrafficManagerUserMetricsKeyModel"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - RealUserMetrics
      x-ms-examples:
        TrafficManagerUserMetricsKeys-GET:
          parameters:
            api-version: 2017-09-01-preview
            subscriptionId: e68d4145-c9ae-4667-925d-c51c8d88ad73
          responses:
            "200":
              body:
                id: /providers/Microsoft.Network/trafficManagerUserMetricsKeys/default
                key: 9ea056eb38f145a0891b5d5dc15e9aa2
                name: default
                type: Microsoft.Network/trafficManagerUserMetricsKeys
    put:
      description: Create or update a subscription-level key used for Real User Metrics collection.
      operationId: TrafficManagerUserMetricsKeys_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "201":
          description: A new subscription-level key has been created for Real User Metrics collection.
          schema:
            $ref: "#/definitions/TrafficManagerUserMetricsKeyModel"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - RealUserMetrics
      x-ms-examples:
        TrafficManagerUserMetricsKeys-PUT:
          parameters:
            api-version: 2017-09-01-preview
            subscriptionId: e68d4145-c9ae-4667-925d-c51c8d88ad73
          responses:
            "201":
              body:
                id: /providers/Microsoft.Network/trafficManagerUserMetricsKeys/default
                key: 9ea056eb38f145a0891b5d5dc15e9aa2
                name: default
                type: Microsoft.Network/trafficManagerUserMetricsKeys
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficmanagerprofiles/{profileName}/heatMaps/{heatMapType}":
    get:
      description: Gets latest heatmap for Traffic Manager profile.
      operationId: HeatMap_Get
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: The name of the resource group containing the Traffic Manager endpoint.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Traffic Manager profile.
          in: path
          name: profileName
          required: true
          type: string
        - description: The type of HeatMap for the Traffic Manager profile.
          enum:
            - default
          in: path
          name: heatMapType
          required: true
          type: string
        - allowEmptyValue: true
          collectionFormat: csv
          description: The top left latitude,longitude pair of the rectangular viewport to query for.
          in: query
          items:
            format: double
            type: number
          maxItems: 2
          minItems: 2
          name: topLeft
          required: false
          type: array
        - allowEmptyValue: true
          collectionFormat: csv
          description: The bottom right latitude,longitude pair of the rectangular viewport to query for.
          in: query
          items:
            format: double
            type: number
          maxItems: 2
          minItems: 2
          name: botRight
          required: false
          type: array
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: The Traffic Manager heatmap.
          schema:
            $ref: "#/definitions/HeatMapModel"
        default:
          description: Default response. It will be deserialized as per the Error definition.
          schema:
            $ref: "#/definitions/CloudError"
      tags:
        - HeatMaps
      x-ms-examples:
        HeatMap-GET:
          parameters:
            api-version: 2017-09-01-preview
            heatMapType: default
            profileName: azuresdkfornetautoresttrafficmanager3880
            resourceGroupName: azuresdkfornetautoresttrafficmanager1323
            subscriptionId: e68d4145-c9ae-4667-925d-c51c8d88ad73
          responses:
            "200":
              body:
                id: /subscriptions/e68d4145-c9ae-4667-925d-c51c8d88ad73/resourceGroups/azuresdkfornetautoresttrafficmanager1323/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager3880/heatMaps/latencyVolumeByLocation
                name: default
                properties:
                  endTime: 2017-08-22T12:50:00Z
                  endpoints:
                    - endpointId: 1
                      resourceId: /subscriptions/e68d4145-c9ae-4667-925d-c51c8d88ad73/resourceGroups/azuresdkfornetautoresttrafficmanager1323/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager3880/externalEndpoints/azuresdkfornetautoresttrafficmanager3880
                    - endpointId: 2
                      resourceId: /subscriptions/562d4115-c01e-4m67-9bbd-c11c2d58ad73/resourceGroups/azuresdkfornetautoresttrafficmanager1300/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager3885/externalEndpoints/azuresdkfornetautoresttrafficmanager3881
                  startTime: 2017-08-15T12:00:00Z
                  trafficFlows:
                    - latitude: 99.99
                      longitude: 0
                      queryExperiences:
                        - endpointId: 1
                          latency: 99.222
                          queryCount: 1000000
                        - endpointId: 2
                          latency: 1.222
                          queryCount: 1
                      sourceIp: 1.1.1.1
                    - latitude: -99.99
                      longitude: 1
                      queryExperiences:
                        - endpointId: 1
                          latency: 96.222
                          queryCount: 100
                        - endpointId: 2
                          latency: 4.222
                          queryCount: 500
                      sourceIp: 2.255.1.1
                type: Microsoft.Network/trafficManagerProfiles/heatMaps/latencyVolumeByLocation
        HeatMap-GET-With-Null-Values:
          parameters:
            api-version: 2017-09-01-preview
            heatMapType: default
            profileName: azuresdkfornetautoresttrafficmanager3880
            resourceGroupName: azuresdkfornetautoresttrafficmanager1323
            subscriptionId: e68d4145-c9ae-4667-925d-c51c8d88ad73
          responses:
            "200":
              body:
                id: /subscriptions/e68d4145-c9ae-4667-925d-c51c8d88ad73/resourceGroups/azuresdkfornetautoresttrafficmanager1323/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager3880/heatMaps/default
                name: default
                properties:
                  endTime: 2017-08-22T12:50:00Z
                  endpoints:
                    - endpointId: 0
                      resourceId: /subscriptions/e68d4145-c9ae-4667-925d-c51c8d88ad73/resourceGroups/azuresdkfornetautoresttrafficmanager1323/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager3880/externalEndpoints/azuresdkfornetautoresttrafficmanager3880
                    - endpointId: 1
                      resourceId: /subscriptions/562d4115-c01e-4m67-9bbd-c11c2d58ad73/resourceGroups/azuresdkfornetautoresttrafficmanager1300/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager3885/externalEndpoints/azuresdkfornetautoresttrafficmanager3881
                  startTime: 2017-08-15T12:00:00Z
                  trafficFlows:
                    - latitude: 99.99
                      longitude: 0
                      queryExperiences:
                        - endpointId: 0
                          latency: 99
                          queryCount: 1000000
                        - endpointId: 1
                          latency: 1
                          queryCount: 1
                      sourceIp: 1.1.1.1
                    - latitude: 1.11
                      longitude: -2.35
                      queryExperiences:
                        - endpointId: 0
                          queryCount: 100
                        - endpointId: 1
                          latency: 4.222
                          queryCount: 500
                      sourceIp: 2.255.1.1
                type: Microsoft.Network/trafficManagerProfiles/heatMaps/default
        HeatMap-GET-With-TopLeft-BotRight:
          parameters:
            api-version: 2017-09-01-preview
            botRight:
              - -50.001
              - 80
            heatMapType: default
            profileName: azuresdkfornetautoresttrafficmanager3880
            resourceGroupName: azuresdkfornetautoresttrafficmanager1323
            subscriptionId: e68d4145-c9ae-4667-925d-c51c8d88ad73
            topLeft:
              - 10
              - 50.001
          responses:
            "200":
              body:
                id: /subscriptions/e68d4145-c9ae-4667-925d-c51c8d88ad73/resourceGroups/azuresdkfornetautoresttrafficmanager1323/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager3880/heatMaps/latencyVolumeByLocation
                name: default
                properties:
                  endTime: 2017-08-22T12:50:00Z
                  endpoints:
                    - endpointId: 1
                      resourceId: /subscriptions/e68d4145-c9ae-4667-925d-c51c8d88ad73/resourceGroups/azuresdkfornetautoresttrafficmanager1323/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager3880/externalEndpoints/azuresdkfornetautoresttrafficmanager3880
                    - endpointId: 2
                      resourceId: /subscriptions/562d4115-c01e-4m67-9bbd-c11c2d58ad73/resourceGroups/azuresdkfornetautoresttrafficmanager1300/providers/Microsoft.Network/trafficManagerProfiles/azuresdkfornetautoresttrafficmanager3885/externalEndpoints/azuresdkfornetautoresttrafficmanager3881
                  startTime: 2017-08-15T12:00:00Z
                  trafficFlows:
                    - latitude: 9.99
                      longitude: 75.01
                      queryExperiences:
                        - endpointId: 1
                          latency: 99.222
                          queryCount: 1000000
                        - endpointId: 2
                          latency: 1.222
                          queryCount: 1
                      sourceIp: 1.1.1.1
                    - latitude: -49.99
                      longitude: 51
                      queryExperiences:
                        - endpointId: 1
                          latency: 96.222
                          queryCount: 100
                        - endpointId: 2
                          latency: 4.222
                          queryCount: 500
                      sourceIp: 2.255.1.1
                type: Microsoft.Network/trafficManagerProfiles/heatMaps/latencyVolumeByLocation
definitions:
  CloudError:
    description: An error returned by the Azure Resource Manager
    properties:
      error:
        $ref: "#/definitions/CloudErrorBody"
        description: The content of the error.
    type: object
    x-ms-external: true
  CloudErrorBody:
    description: The content of an error returned by the Azure Resource Manager
    properties:
      code:
        description: Error code
        type: string
      details:
        description: Error details
        items:
          $ref: "#/definitions/CloudErrorBody"
        type: array
      message:
        description: Error message
        type: string
      target:
        description: Error target
        type: string
    type: object
    x-ms-external: true
  DeleteOperationResult:
    description: The result of the request or operation.
    properties:
      boolean:
        description: The result of the operation or request.
        readOnly: true
        type: boolean
        x-ms-client-name: operationResult
  HeatMapEndpoint:
    description: Class which is a sparse representation of a Traffic Manager endpoint.
    properties:
      endpointId:
        description: A number uniquely identifying this endpoint in query experiences.
        type: integer
      resourceId:
        description: The ARM Resource ID of this Traffic Manager endpoint.
        type: string
  HeatMapModel:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: Class representing a Traffic Manager HeatMap.
    properties:
      properties:
        $ref: "#/definitions/HeatMapProperties"
        description: The properties of the Traffic Manager HeatMap.
        x-ms-client-flatten: true
  HeatMapProperties:
    description: Class representing a Traffic Manager HeatMap properties.
    properties:
      endTime:
        description: The ending of the time window for this HeatMap, exclusive.
        format: date-time
        type: string
      endpoints:
        description: The endpoints used in this HeatMap calculation.
        items:
          $ref: "#/definitions/HeatMapEndpoint"
        type: array
      startTime:
        description: The beginning of the time window for this HeatMap, inclusive.
        format: date-time
        type: string
      trafficFlows:
        description: The traffic flows produced in this HeatMap calculation.
        items:
          $ref: "#/definitions/TrafficFlow"
        type: array
  ProxyResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource model definition for a ARM proxy resource. It will have everything other than required location and tags
  QueryExperience:
    description: Class representing a Traffic Manager HeatMap query experience properties.
    properties:
      endpointId:
        description: The id of the endpoint from the 'endpoints' array which these queries were routed to.
        type: integer
      latency:
        description: The latency experienced by queries originating from this location.
        format: double
        type: number
      queryCount:
        description: The number of queries originating from this location.
        type: integer
    required:
      - endpointId
      - queryCount
  Resource:
    description: The core properties of ARM resources
    properties:
      id:
        description: Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}
        readOnly: true
        type: string
      name:
        description: The name of the resource
        readOnly: true
        type: string
      type:
        description: The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles.
        readOnly: true
        type: string
    x-ms-azure-resource: true
  TrackedResource:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The resource model definition for a ARM tracked top level resource
    properties:
      location:
        description: The Azure Region where the resource lives
        type: string
        x-ms-mutability:
          - read
          - create
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
        x-ms-mutability:
          - read
          - create
          - update
  TrafficFlow:
    description: Class representing a Traffic Manager HeatMap traffic flow properties.
    properties:
      latitude:
        description: The approximate latitude that these queries originated from.
        format: double
        type: number
      longitude:
        description: The approximate longitude that these queries originated from.
        format: double
        type: number
      queryExperiences:
        description: The query experiences produced in this HeatMap calculation.
        items:
          $ref: "#/definitions/QueryExperience"
        type: array
      sourceIp:
        description: The IP address that this query experience originated from.
        type: string
  TrafficManagerUserMetricsKeyModel:
    allOf:
      - $ref: "#/definitions/ProxyResource"
    description: Class representing a Traffic Manager Real User Metrics key response.
    properties:
      id:
        description: Fully qualified resource Id for the resource. Ex - /providers/Microsoft.Network/trafficManagerUserMetricsKeys
        type: string
      key:
        description: The key returned by the Real User Metrics operation.
        type: string
      name:
        description: The word default.
        type: string
      type:
        description: The type of the resource. Ex- Microsoft.Network/trafficManagerUserMetricsKeys.
        type: string
