swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: |
    These are the Network Experiment APIs.
  title: NetworkExperiments
  version: 2019-11-01
  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/frontdoor/resource-manager/Microsoft.Network/stable/2019-11-01/networkexperiment.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: frontdoor-networkexperiment
  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:
  ExperimentNameParameter:
    description: The Experiment identifier associated with the Experiment
    in: path
    name: experimentName
    pattern: ^[a-zA-Z0-9_\-\(\)\.]*[^\.]$
    required: true
    type: string
    x-ms-parameter-location: method
  ProfileNameParameter:
    description: The Profile identifier associated with the Tenant and Partner
    in: path
    name: profileName
    pattern: ^[a-zA-Z0-9_\-\(\)\.]*[^\.]$
    required: true
    type: string
    x-ms-parameter-location: method
  ResourceGroupNameParameter:
    description: Name of the Resource group within the Azure subscription.
    in: path
    maxLength: 80
    minLength: 1
    name: resourceGroupName
    pattern: ^[a-zA-Z0-9_\-\(\)\.]*[^\.]$
    required: true
    type: string
    x-ms-parameter-location: method
tags:
  - description: The configuration of Network Experiment profiles
    name: NetworkExperimentProfiles
  - description: The configuration of the Network Experiment experiments
    name: Experiments
  - description: The preconfigured endpoints and details
    name: PreconfiguredEndpoints
  - description: The analysis and results of the experiments
    name: Reports
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/NetworkExperimentProfiles":
    get:
      operationId: NetworkExperimentProfiles_List
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/ProfileList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets a list of Network Experiment Profiles under a subscription
      tags:
        - NetworkExperimentProfiles
      x-ms-examples:
        List NetworkExperiment Profiles in a Resource Group:
          parameters:
            api-version: 2019-11-01
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/
                    location: WestUs
                    name: MyProfile
                    properties:
                      enabledState: Enabled
                      resourceState: Creating
                    tags:
                      key1: value1
                      key2: value2
                    type: Microsoft.Network/NetworkExperimentprofiles
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles":
    get:
      operationId: NetworkExperimentProfiles_ListByResourceGroup
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/ProfileList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets a list of Network Experiment Profiles within a resource group under a subscription
      tags:
        - NetworkExperimentProfiles
      x-ms-examples:
        List NetworkExperiment Profiles in a Resource Group:
          parameters:
            api-version: 2019-11-01
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/
                    location: WestUs
                    name: MyProfile
                    properties:
                      enabledState: Enabled
                      resourceState: Creating
                    tags:
                      key1: value1
                      key2: value2
                    type: Microsoft.Network/NetworkExperimentprofiles
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}":
    delete:
      operationId: NetworkExperimentProfiles_Delete
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
      responses:
        "200":
          description: Delete successful.
        "202":
          description: Accepted. The request has been accepted for processing and the operation will complete asynchronously.
        "204":
          description: No Content. The request has been accepted but the profile was not found.
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Deletes an NetworkExperiment Profile by ProfileName
      tags:
        - NetworkExperimentProfiles
      x-ms-examples:
        Deletes an NetworkExperiment Profile by ProfileName:
          parameters:
            api-version: 2019-11-01
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      operationId: NetworkExperimentProfiles_Get
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/Profile"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets an NetworkExperiment Profile by ProfileName
      tags:
        - NetworkExperimentProfiles
      x-ms-examples:
        Gets an NetworkExperiment Profile by Profile Id:
          parameters:
            api-version: 2019-11-01
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile
                location: WestUs
                name: MyProfile
                properties:
                  enabledState: Enabled
                  resourceState: Creating
                tags:
                  key1: value1
                  key2: value2
    patch:
      description: Updates an NetworkExperimentProfiles
      operationId: NetworkExperimentProfiles_Update
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
        - description: The Profile Update Model
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ProfileUpdateModel"
      responses:
        "200":
          description: OK. successful operation
          schema:
            $ref: "#/definitions/Profile"
        "202":
          description: Accepted. The request has been accepted for processing and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Profile"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Updates an NetworkExperimentProfiles by NetworkExperimentProfile name
      tags:
        - NetworkExperimentProfiles
      x-ms-examples:
        Updates an Experiment:
          parameters:
            api-version: 2019-11-01
            parameters:
              properties:
                enabledState: Enabled
              tags:
                key1: value1
                key2: value2
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile
                location: WestUs
                name: MyProfile
                properties:
                  enabledState: Enabled
                  resourceState: Creating
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/NetworkExperimentprofiles
            "202":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile
                location: WestUs
                name: MyProfile
                properties:
                  enabledState: Enabled
                  resourceState: Creating
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/NetworkExperimentprofiles
      x-ms-long-running-operation: true
    put:
      operationId: NetworkExperimentProfiles_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/ProfileNameParameter"
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - description: An Network Experiment Profile
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Profile"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Profile"
        "201":
          description: Created. The request has been fulfilled and a new protection policy has been created.
          schema:
            $ref: "#/definitions/Profile"
        "202":
          description: Accepted. The request has been accepted for processing and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Profile"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Creates an NetworkExperiment Profile
      tags:
        - NetworkExperimentProfiles
      x-ms-examples:
        Creates an NetworkExperiment Profile in a Resource Group:
          parameters:
            api-version: 2019-11-01
            parameters:
              location: WestUs
              properties:
                enabledState: Enabled
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile
                location: WestUs
                name: MyProfile
                properties:
                  enabledState: Enabled
                  resourceState: Creating
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/NetworkExperimentprofiles
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile
                location: WestUs
                name: MyProfile
                properties:
                  enabledState: Enabled
                  resourceState: Creating
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/NetworkExperimentprofiles
            "202":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile
                location: WestUs
                name: MyProfile
                properties:
                  enabledState: Enabled
                  resourceState: Creating
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/NetworkExperimentprofiles
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments":
    get:
      operationId: Experiments_ListByProfile
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/ExperimentList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets a list of Experiments
      tags:
        - Experiments
      x-ms-examples:
        Gets a list of Experiments:
          parameters:
            api-version: 2019-11-01
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subId/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile/Experiments
                    name: MyExperiment
                    properties:
                      description: this is my first experiment!
                      enabledState: Enabled
                      endpointA:
                        endpoint: endpointA.net
                        name: endpoint A
                      endpointB:
                        endpoint: endpointB.net
                        name: endpoint B
                      resourceState: Creating
                      scriptFileUri: www.myScript.com
                      status: ongoing
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}":
    delete:
      operationId: Experiments_Delete
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
        - $ref: "#/parameters/ExperimentNameParameter"
      responses:
        "200":
          description: Delete successful.
        "202":
          description: Accepted. The request has been accepted for processing and the operation will complete asynchronously.
        "204":
          description: No Content. The request has been accepted but the policy was not found.
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Deletes an Experiment
      tags:
        - Experiments
      x-ms-examples:
        Deletes an Experiment:
          parameters:
            api-version: 2019-11-01
            experimentName: MyExperiment
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      operationId: Experiments_Get
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
        - $ref: "#/parameters/ExperimentNameParameter"
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/Experiment"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets an Experiment by ExperimentName
      tags:
        - Experiments
      x-ms-examples:
        Gets an Experiment by ExperimentName:
          parameters:
            api-version: 2019-11-01
            experimentName: MyExperiment
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile/Experiments/MyExperiment
                location: WestUs
                name: MyExperiment
                properties:
                  description: this is my first experiment!
                  enabledState: Enabled
                  endpointA:
                    endpoint: endpointA.net
                    name: endpoint A
                  endpointB:
                    endpoint: endpointB.net
                    name: endpoint B
                  resourceState: Creating
                  scriptFileUri: www.myScript.com
                  status: ongoing
                tags:
                  key1: value1
                  key2: value2
    patch:
      description: Updates an Experiment
      operationId: Experiments_Update
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
        - $ref: "#/parameters/ExperimentNameParameter"
        - description: The Experiment Update Model
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ExperimentUpdateModel"
      responses:
        "200":
          description: OK. successful operation
          schema:
            $ref: "#/definitions/Experiment"
        "202":
          description: Accepted. The request has been accepted for processing and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Experiment"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Updates an Experiment by Experiment id
      tags:
        - Experiments
      x-ms-examples:
        Updates an Experiment:
          parameters:
            api-version: 2019-11-01
            experimentName: MyExperiment
            parameters:
              properties:
                description: string
                enabledState: Enabled
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile/Experiments/MyExperiment
                location: WestUs
                name: MyExperiment
                properties:
                  description: this is my first experiment!
                  enabledState: Enabled
                  endpointA:
                    endpoint: endpointA.net
                    name: endpoint A
                  endpointB:
                    endpoint: endpointB.net
                    name: endpoint B
                  resourceState: Creating
                  scriptFileUri: www.myScript.com
                  status: ongoing
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/NetworkExperimentprofiles
            "202":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile/Experiments/MyExperiment
                location: WestUs
                name: MyExperiment
                properties:
                  description: this is my first experiment!
                  enabledState: Enabled
                  endpointA:
                    endpoint: endpointA.net
                    name: endpoint A
                  endpointB:
                    endpoint: endpointB.net
                    name: endpoint B
                  resourceState: Creating
                  scriptFileUri: www.myScript.com
                  status: ongoing
                tags:
                  key1: value1
                  key2: value2
                type: Microsoft.Network/NetworkExperimentprofiles
      x-ms-long-running-operation: true
    put:
      operationId: Experiments_CreateOrUpdate
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
        - $ref: "#/parameters/ExperimentNameParameter"
        - description: The Experiment resource
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/Experiment"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/Experiment"
        "201":
          description: Created. The request has been fulfilled and a new experiment has been created.
          schema:
            $ref: "#/definitions/Experiment"
        "202":
          description: Accepted. The request has been accepted for processing and the operation will complete asynchronously.
          schema:
            $ref: "#/definitions/Experiment"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Creates or updates an Experiment
      tags:
        - Experiments
      x-ms-examples:
        Creates an Experiment:
          parameters:
            api-version: 2019-11-01
            experimentName: MyExperiment
            parameters:
              properties:
                description: this is my first experiment!
                enabledState: Enabled
                endpointA:
                  endpoint: endpointA.net
                  name: endpoint A
                endpointB:
                  endpoint: endpointB.net
                  name: endpoint B
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile/Experiments/MyExperiment
                location: WestUs
                name: MyExperiment
                properties:
                  description: this is my first experiment!
                  enabledState: Enabled
                  endpointA:
                    endpoint: endpointA.net
                    name: endpoint A
                  endpointB:
                    endpoint: endpointB.net
                    name: endpoint B
                  resourceState: Creating
                  scriptFileUri: www.myScript.com
                  status: ongoing
                tags:
                  key1: value1
                  key2: value2
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile/Experiments/MyExperiment
                location: WestUs
                name: MyExperiment
                properties:
                  description: this is my first experiment!
                  enabledState: Enabled
                  endpointA:
                    endpoint: endpointA.net
                    name: endpoint A
                  endpointB:
                    endpoint: endpointB.net
                    name: endpoint B
                  resourceState: Creating
                  scriptFileUri: www.myScript.com
                  status: ongoing
                tags:
                  key1: value1
                  key2: value2
            "202":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile/Experiments/MyExperiment
                location: WestUs
                name: MyExperiment
                properties:
                  description: this is my first experiment!
                  enabledState: Enabled
                  endpointA:
                    endpoint: endpointA.net
                    name: endpoint A
                  endpointB:
                    endpoint: endpointB.net
                    name: endpoint B
                  resourceState: Creating
                  scriptFileUri: www.myScript.com
                  status: ongoing
                tags:
                  key1: value1
                  key2: value2
      x-ms-long-running-operation: true
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/LatencyScorecard":
    get:
      operationId: Reports_GetLatencyScorecards
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
        - $ref: "#/parameters/ExperimentNameParameter"
        - description: The end DateTime of the Latency Scorecard in UTC
          in: query
          name: endDateTimeUTC
          required: false
          type: string
        - description: The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html
          in: query
          name: country
          required: false
          type: string
        - description: The aggregation interval of the Latency Scorecard
          enum:
            - Daily
            - Weekly
            - Monthly
          in: query
          name: aggregationInterval
          required: true
          type: string
          x-ms-enum:
            modelAsString: true
            name: latencyScorecardAggregationInterval
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/LatencyScorecard"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets a Latency Scorecard for a given Experiment
      tags:
        - Reports
      x-ms-examples:
        Gets a Latency Scorecard for a given Experiment:
          parameters:
            aggregationInterval: Daily
            api-version: 2019-11-01
            experimentName: MyExperiment
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile/Experiments/MyExperiment/LatencyScorecard
                name: DailyLatencyScorecard
                properties:
                  country: USA
                  description: This scorecard is the latency scorecard, aggregated over a day
                  endDateTimeUTC: 2019-09-21T17:32:28Z
                  endpointA: https://endpointA.com
                  endpointB: https://endpoingB.com
                  startDateTimeUTC: 2019-07-21T17:32:28Z
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/Experiments/{experimentName}/Timeseries":
    get:
      operationId: Reports_GetTimeseries
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
        - $ref: "#/parameters/ExperimentNameParameter"
        - description: The start DateTime of the Timeseries in UTC
          format: date-time
          in: query
          name: startDateTimeUTC
          required: true
          type: string
        - description: The end DateTime of the Timeseries in UTC
          format: date-time
          in: query
          name: endDateTimeUTC
          required: true
          type: string
        - description: The aggregation interval of the Timeseries
          enum:
            - Hourly
            - Daily
          in: query
          name: aggregationInterval
          required: true
          type: string
          x-ms-enum:
            modelAsString: true
            name: timeseriesAggregationInterval
        - description: The type of Timeseries
          enum:
            - MeasurementCounts
            - LatencyP50
            - LatencyP75
            - LatencyP95
          in: query
          name: timeseriesType
          required: true
          type: string
          x-ms-enum:
            modelAsString: true
            name: timeseriesType
        - description: The specific endpoint
          in: query
          name: endpoint
          required: false
          type: string
        - description: The country associated with the Timeseries. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html
          in: query
          name: country
          type: string
      responses:
        "200":
          description: successful operation
          schema:
            $ref: "#/definitions/Timeseries"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets a Timeseries for a given Experiment
      tags:
        - Reports
      x-ms-examples:
        Gets a Timeseries for a given Experiment:
          parameters:
            aggregationInterval: Hourly
            api-version: 2019-11-01
            endDateTimeUTC: 2019-09-21T17:32:28Z
            experimentName: MyExperiment
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            startDateTimeUTC: 2019-07-21T17:32:28Z
            subscriptionId: subid
            timeseriesType: MeasurementCounts
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/MyResourceGroup/providers/Microsoft.Network/NetworkExperimentProfiles/MyProfile/Experiments/MyExperiment/Timeseries
                properties:
                  aggregationInterval: Hourly
                  country: United States
                  endDateTimeUTC: 2019-08-02
                  endpoint: https://endpointA.com
                  startDateTimeUTC: 2019-07-29
                  timeseriesData:
                    - dateTimeUTC: 2019-07-22T17:32:28Z
                      value: 79
                  timeseriesType: MeasurementCounts
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/NetworkExperimentProfiles/{profileName}/PreconfiguredEndpoints":
    get:
      operationId: PreconfiguredEndpoints_List
      parameters:
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ProfileNameParameter"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/PreconfiguredEndpointList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      summary: Gets a list of Preconfigured Endpoints
      tags:
        - PreconfiguredEndpoints
      x-ms-examples:
        Gets a list of Preconfigured Endpoints:
          parameters:
            api-version: 2019-11-01
            profileName: MyProfile
            resourceGroupName: MyResourceGroup
            subscriptionId: subid
          responses:
            "200":
              body:
                nextLink: string
                value:
                  - name: Endpoint 1
                    properties:
                      backend: WESTUS
                      description: this is the endpoint 1 preconfigured endpoint.
                      endpoint: endpoint1.net
                      endpointType: AFD
      x-ms-pageable:
        nextLinkName: nextLink
definitions:
  Endpoint:
    description: Defines the endpoint properties
    properties:
      endpoint:
        description: The endpoint URL
        type: string
      name:
        description: The name of the endpoint
        type: string
    type: object
  ErrorResponse:
    description: Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message.
    properties:
      code:
        description: Error code.
        readOnly: true
        type: string
      message:
        description: Error message indicating why the operation failed.
        readOnly: true
        type: string
    type: object
  Experiment:
    allOf:
      - description: Common resource representation.
        properties:
          id:
            description: Resource ID.
            readOnly: true
            type: string
          location:
            description: Resource location.
            type: string
          name:
            description: Resource name.
            readOnly: true
            type: string
          tags:
            additionalProperties:
              type: string
            description: Resource tags.
            type: object
          type:
            description: Resource type.
            readOnly: true
            type: string
        x-ms-azure-resource: true
    description: Defines the properties of an Experiment
    properties:
      name:
        description: The name of the Experiment
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/ExperimentProperties"
        description: The properties of an Experiment
        x-ms-client-flatten: true
  ExperimentList:
    description: Defines a list of Experiments. It contains a list of Experiment objects and a URL link to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of Experiment objects if there are any.
        type: string
      value:
        description: List of Experiments within a resource group.
        items:
          $ref: "#/definitions/Experiment"
        readOnly: true
        type: array
  ExperimentProperties:
    description: Defines the properties of an experiment
    properties:
      description:
        description: The description of the details or intents of the Experiment
        type: string
      enabledState:
        description: The state of the Experiment
        enum:
          - Enabled
          - Disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: state
      endpointA:
        $ref: "#/definitions/Endpoint"
        description: The endpoint A of an experiment
      endpointB:
        $ref: "#/definitions/Endpoint"
        description: The endpoint B of an experiment
      resourceState:
        $ref: "#/definitions/NetworkExperimentResourceState"
        description: Resource status.
      scriptFileUri:
        description: The uri to the Script used in the Experiment
        readOnly: true
        type: string
      status:
        description: The description of Experiment status from the server side
        readOnly: true
        type: string
    type: object
  ExperimentUpdateModel:
    description: Defines modifiable attributes of an Experiment
    properties:
      properties:
        $ref: "#/definitions/ExperimentUpdateProperties"
        description: The properties of a Profile
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
    type: object
  ExperimentUpdateProperties:
    description: Defines the properties of an experiment
    properties:
      description:
        description: The description of the intent or details of the Experiment
        type: string
      enabledState:
        description: The state of the Experiment
        enum:
          - Enabled
          - Disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: state
    type: object
  LatencyMetric:
    description: Defines the properties of a latency metric used in the latency scorecard
    properties:
      aCLower95CI:
        description: The lower end of the 95% confidence interval for endpoint A
        readOnly: true
        type: number
      aHUpper95CI:
        description: The upper end of the 95% confidence interval for endpoint A
        readOnly: true
        type: number
      aValue:
        description: The metric value of the A endpoint
        readOnly: true
        type: number
      bCLower95CI:
        description: The lower end of the 95% confidence interval for endpoint B
        readOnly: true
        type: number
      bUpper95CI:
        description: The upper end of the 95% confidence interval for endpoint B
        readOnly: true
        type: number
      bValue:
        description: The metric value of the B endpoint
        readOnly: true
        type: number
      delta:
        description: The difference in value between endpoint A and B
        readOnly: true
        type: number
      deltaPercent:
        description: The percent difference between endpoint A and B
        readOnly: true
        type: number
      endDateTimeUTC:
        description: The end time of the Latency Scorecard in UTC
        readOnly: true
        type: string
      name:
        description: The name of the Latency Metric
        readOnly: true
        type: string
    type: object
  LatencyScorecard:
    allOf:
      - description: Common resource representation.
        properties:
          id:
            description: Resource ID.
            readOnly: true
            type: string
          location:
            description: Resource location.
            type: string
          name:
            description: Resource name.
            readOnly: true
            type: string
          tags:
            additionalProperties:
              type: string
            description: Resource tags.
            type: object
          type:
            description: Resource type.
            readOnly: true
            type: string
        x-ms-azure-resource: true
    description: Defines the LatencyScorecard
    properties:
      properties:
        $ref: "#/definitions/LatencyScorecardProperties"
        description: The properties of a latency scorecard
        x-ms-client-flatten: true
  LatencyScorecardProperties:
    description: Defines a the properties of a Latency Scorecard
    properties:
      country:
        description: The country associated with the Latency Scorecard. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html
        readOnly: true
        type: string
      description:
        description: The description of the Latency Scorecard
        readOnly: true
        type: string
      endDateTimeUTC:
        description: The end time of the Latency Scorecard in UTC
        format: date-time
        readOnly: true
        type: string
      endpointA:
        description: The A endpoint in the scorecard
        readOnly: true
        type: string
      endpointB:
        description: The B endpoint in the scorecard
        readOnly: true
        type: string
      id:
        description: The unique identifier of the Latency Scorecard
        readOnly: true
        type: string
      latencyMetrics:
        description: The latency metrics of the Latency Scorecard
        items:
          $ref: "#/definitions/LatencyMetric"
        type: array
      name:
        description: The name of the Latency Scorecard
        readOnly: true
        type: string
      startDateTimeUTC:
        description: The start time of the Latency Scorecard in UTC
        format: date-time
        readOnly: true
        type: string
    type: object
  NetworkExperimentResourceState:
    description: Defines the server side resource status
    enum:
      - Creating
      - Enabling
      - Enabled
      - Disabling
      - Disabled
      - Deleting
    readOnly: true
    type: string
    x-ms-enum:
      modelAsString: true
      name: NetworkExperimentResourceState
  PreconfiguredEndpoint:
    allOf:
      - description: Common resource representation.
        properties:
          id:
            description: Resource ID.
            readOnly: true
            type: string
          location:
            description: Resource location.
            type: string
          name:
            description: Resource name.
            readOnly: true
            type: string
          tags:
            additionalProperties:
              type: string
            description: Resource tags.
            type: object
          type:
            description: Resource type.
            readOnly: true
            type: string
        x-ms-azure-resource: true
    description: Defines the properties of a preconfigured endpoint
    properties:
      name:
        description: The name of the endpoint
        type: string
      properties:
        $ref: "#/definitions/PreconfiguredEndpointProperties"
        description: The properties of a preconfiguredEndpoint
        x-ms-client-flatten: true
  PreconfiguredEndpointList:
    description: Defines a list of preconfigured endpoints.
    properties:
      nextLink:
        description: URL to get the next set of PreconfiguredEndpoints if there are any.
        type: string
      value:
        description: List of PreconfiguredEndpoints supported by NetworkExperiment.
        items:
          $ref: "#/definitions/PreconfiguredEndpoint"
        readOnly: true
        type: array
  PreconfiguredEndpointProperties:
    description: Defines the properties of a preconfigured endpoint
    properties:
      backend:
        description: The preconfigured endpoint backend
        type: string
      description:
        description: The description of the endpoint
        type: string
      endpoint:
        description: The endpoint that is preconfigured
        type: string
      endpointType:
        description: The type of endpoint
        enum:
          - AFD
          - AzureRegion
          - CDN
          - ATM
        type: string
        x-ms-enum:
          modelAsString: true
          name: endpointType
    type: object
  Profile:
    allOf:
      - description: Common resource representation.
        properties:
          id:
            description: Resource ID.
            readOnly: true
            type: string
          location:
            description: Resource location.
            type: string
          name:
            description: Resource name.
            readOnly: true
            type: string
          tags:
            additionalProperties:
              type: string
            description: Resource tags.
            type: object
          type:
            description: Resource type.
            readOnly: true
            type: string
        x-ms-azure-resource: true
    description: Defines an Network Experiment Profile and lists of Experiments
    properties:
      etag:
        description: Gets a unique read-only string that changes whenever the resource is updated.
        type: string
      name:
        description: The name of the Profile
        type: string
      properties:
        $ref: "#/definitions/ProfileProperties"
        description: The properties of a Profile
        x-ms-client-flatten: true
  ProfileList:
    description: Defines a list of Profiles. It contains a list of Profile objects and a URL link to get the next set of results.
    properties:
      nextLink:
        description: URL to get the next set of Profile objects if there are any.
        type: string
      value:
        description: List of Profiles within a resource group.
        items:
          $ref: "#/definitions/Profile"
        readOnly: true
        type: array
  ProfileProperties:
    description: Defines the properties of an experiment
    properties:
      enabledState:
        description: The state of the Experiment
        enum:
          - Enabled
          - Disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: state
      resourceState:
        $ref: "#/definitions/NetworkExperimentResourceState"
        description: Resource status.
    type: object
  ProfileUpdateModel:
    description: Defines modifiable attributes of a Profile
    properties:
      properties:
        $ref: "#/definitions/ProfileUpdateProperties"
        description: The properties of a Profile
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
    type: object
  ProfileUpdateProperties:
    description: Defines the properties of an experiment
    properties:
      enabledState:
        description: The enabled state of the Profile
        enum:
          - Enabled
          - Disabled
        type: string
        x-ms-enum:
          modelAsString: true
          name: state
    type: object
  Timeseries:
    allOf:
      - description: Common resource representation.
        properties:
          id:
            description: Resource ID.
            readOnly: true
            type: string
          location:
            description: Resource location.
            type: string
          name:
            description: Resource name.
            readOnly: true
            type: string
          tags:
            additionalProperties:
              type: string
            description: Resource tags.
            type: object
          type:
            description: Resource type.
            readOnly: true
            type: string
        x-ms-azure-resource: true
    description: Defines the Timeseries
    properties:
      properties:
        $ref: "#/definitions/TimeseriesProperties"
        description: The properties of a Timeseries
        x-ms-client-flatten: true
  TimeseriesDataPoint:
    description: Defines a timeseries datapoint used in a timeseries
    properties:
      dateTimeUTC:
        description: The DateTime of the Timeseries data point in UTC
        type: string
      value:
        description: The Value of the Timeseries data point
        type: number
    type: object
  TimeseriesProperties:
    description: Defines the properties of a timeseries
    properties:
      aggregationInterval:
        description: The aggregation interval of the Timeseries
        enum:
          - Hourly
          - Daily
        type: string
        x-ms-enum:
          modelAsString: true
          name: aggregationInterval
      country:
        description: The country associated with the Timeseries. Values are country ISO codes as specified here- https://www.iso.org/iso-3166-country-codes.html
        type: string
      endDateTimeUTC:
        description: The end DateTime of the Timeseries in UTC
        type: string
      endpoint:
        description: The endpoint associated with the Timeseries data point
        type: string
      startDateTimeUTC:
        description: The start DateTime of the Timeseries in UTC
        type: string
      timeseriesData:
        description: The set of data points for the timeseries
        items:
          $ref: "#/definitions/TimeseriesDataPoint"
        type: array
      timeseriesType:
        description: The type of Timeseries
        enum:
          - MeasurementCounts
          - LatencyP50
          - LatencyP75
          - LatencyP95
        type: string
        x-ms-enum:
          modelAsString: true
          name: timeseriesType
    type: object
