{
  "openapi": "3.0.0",
  "info": {
    "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.",
    "title": "NetworkManagementClient",
    "version": "2018-11-01",
    "x-jentic-source-url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/interfaceEndpoint.json"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/interfaceEndpoints": {
      "get": {
        "parameters": [
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterfaceEndpointListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of InterfaceEndpoint resources."
          }
        },
        "tags": [
          "InterfaceEndpoints"
        ],
        "description": "Gets all interface endpoints in a subscription.",
        "operationId": "InterfaceEndpoints_ListBySubscription",
        "x-ms-examples": {
          "List all interface endpoints": {
            "$ref": "./examples/InterfaceEndpointListAll.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints": {
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterfaceEndpointListResult"
                }
              }
            },
            "description": "Request successful. The operation returns a list of InterfaceEndpoint resources."
          }
        },
        "tags": [
          "InterfaceEndpoints"
        ],
        "description": "Gets all interface endpoints in a resource group.",
        "operationId": "InterfaceEndpoints_List",
        "x-ms-examples": {
          "List interface endpoints in resource group": {
            "$ref": "./examples/InterfaceEndpointList.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/interfaceEndpoints/{interfaceEndpointName}": {
      "delete": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the interface endpoint.",
            "in": "path",
            "name": "interfaceEndpointName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Delete successful."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Delete successful."
          }
        },
        "tags": [
          "InterfaceEndpoints"
        ],
        "description": "Deletes the specified interface endpoint.",
        "operationId": "InterfaceEndpoints_Delete",
        "x-ms-examples": {
          "Delete interface endpoint": {
            "$ref": "./examples/InterfaceEndpointDelete.json"
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the interface endpoint.",
            "in": "path",
            "name": "interfaceEndpointName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          },
          {
            "description": "Expands referenced resources.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterfaceEndpoint"
                }
              }
            },
            "description": "Request successful. The operation returns the resulting InterfaceEndpoint resource."
          }
        },
        "tags": [
          "InterfaceEndpoints"
        ],
        "description": "Gets the specified interface endpoint by resource group.",
        "operationId": "InterfaceEndpoints_Get",
        "x-ms-examples": {
          "Get interface endpoint": {
            "$ref": "./examples/InterfaceEndpointGet.json"
          }
        }
      },
      "put": {
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The name of the interface endpoint.",
            "in": "path",
            "name": "interfaceEndpointName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "./network.json#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "./network.json#/components/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterfaceEndpoint"
                }
              }
            },
            "description": "Update successful. The operation returns the resulting InterfaceEndpoint resource."
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InterfaceEndpoint"
                }
              }
            },
            "description": "Create successful. The operation returns the resulting InterfaceEndpoint resource."
          }
        },
        "tags": [
          "InterfaceEndpoints"
        ],
        "description": "Creates or updates an interface endpoint in the specified resource group.",
        "operationId": "InterfaceEndpoints_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InterfaceEndpoint"
              }
            }
          },
          "description": "Parameters supplied to the create or update interface endpoint operation",
          "required": true
        },
        "x-ms-examples": {
          "Create interface endpoint": {
            "$ref": "./examples/InterfaceEndpointCreate.json"
          }
        },
        "x-ms-long-running-operation": true
      }
    }
  },
  "components": {
    "schemas": {
      "EndpointService": {
        "description": "Identifies the service being brought into the virtual network.",
        "properties": {
          "id": {
            "description": "A unique identifier of the service being referenced by the interface endpoint.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "InterfaceEndpoint": {
        "allOf": [
          {
            "$ref": "./network.json#/definitions/Resource"
          }
        ],
        "description": "Interface endpoint resource.",
        "properties": {
          "etag": {
            "description": "Gets a unique read-only string that changes whenever the resource is updated.",
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/InterfaceEndpointProperties",
            "description": "Properties of the interface endpoint.",
            "x-ms-client-flatten": true
          }
        },
        "type": "object"
      },
      "InterfaceEndpointListResult": {
        "description": "Response for the ListInterfaceEndpoints API service call.",
        "properties": {
          "nextLink": {
            "description": "The URL to get the next set of results.",
            "readOnly": true,
            "type": "string"
          },
          "value": {
            "description": "Gets a list of InterfaceEndpoint resources in a resource group.",
            "items": {
              "$ref": "#/components/schemas/InterfaceEndpoint"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "InterfaceEndpointProperties": {
        "description": "Properties of the interface endpoint.",
        "properties": {
          "endpointService": {
            "$ref": "#/components/schemas/EndpointService",
            "description": "A reference to the service being brought into the virtual network."
          },
          "fqdn": {
            "description": "A first-party service's FQDN that is mapped to the private IP allocated via this interface endpoint.",
            "type": "string"
          },
          "networkInterfaces": {
            "description": "Gets an array of references to the network interfaces created for this interface endpoint.",
            "items": {
              "$ref": "./networkInterface.json#/definitions/NetworkInterface"
            },
            "readOnly": true,
            "type": "array"
          },
          "owner": {
            "description": "A read-only property that identifies who created this interface endpoint.",
            "readOnly": true,
            "type": "string"
          },
          "provisioningState": {
            "description": "The provisioning state of the interface endpoint. Possible values are: 'Updating', 'Deleting', and 'Failed'.",
            "readOnly": true,
            "type": "string"
          },
          "subnet": {
            "$ref": "./virtualNetwork.json#/definitions/Subnet",
            "description": "The ID of the subnet from which the private IP will be allocated."
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "azure_auth": {
        "description": "Azure Active Directory OAuth2 Flow",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
            "scopes": {
              "user_impersonation": "impersonate your user account"
            }
          }
        },
        "type": "oauth2"
      }
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ]
}