{
  "openapi": "3.0.0",
  "info": {
    "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault.",
    "title": "KeyVaultManagementClient",
    "version": "2019-09-01",
    "x-jentic-source-url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/providers.json"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "paths": {
    "/providers/Microsoft.KeyVault/operations": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationListResult"
                }
              }
            },
            "description": "OK. The request has succeeded."
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CloudError"
                }
              }
            },
            "description": "Error response describing why the operation failed."
          }
        },
        "tags": [
          "Operations"
        ],
        "description": "Lists all of the available Key Vault Rest API operations.",
        "operationId": "Operations_List",
        "x-ms-examples": {
          "Lists available Rest API operations.": {
            "$ref": "./examples/listOperations.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    }
  },
  "components": {
    "parameters": {
      "ApiVersionParameter": {
        "description": "Client Api Version.",
        "in": "query",
        "name": "api-version",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "SubscriptionIdParameter": {
        "description": "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,
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "CloudError": {
        "description": "An error response from Key Vault resource provider",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/CloudErrorBody"
          }
        },
        "type": "object",
        "x-ms-external": true
      },
      "CloudErrorBody": {
        "description": "An error response from Key Vault resource provider",
        "properties": {
          "code": {
            "description": "Error code. This is a mnemonic that can be consumed programmatically.",
            "type": "string"
          },
          "message": {
            "description": "User friendly error message. The message is typically localized and may vary with service version.",
            "type": "string"
          }
        },
        "type": "object",
        "x-ms-external": true
      },
      "DimensionProperties": {
        "description": "Type of operation: get, read, delete, etc.",
        "properties": {
          "displayName": {
            "description": "Display name of dimension.",
            "type": "string"
          },
          "name": {
            "description": "Name of dimension.",
            "type": "string"
          },
          "toBeExportedForShoebox": {
            "description": "Property to specify whether the dimension should be exported for shoebox.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "LogSpecification": {
        "description": "Log specification of operation.",
        "properties": {
          "blobDuration": {
            "description": "Blob duration of specification.",
            "type": "string"
          },
          "displayName": {
            "description": "Display name of log specification.",
            "type": "string"
          },
          "name": {
            "description": "Name of log specification.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "MetricSpecification": {
        "description": "Metric specification of operation.",
        "properties": {
          "aggregationType": {
            "description": "The metric aggregation type. Possible values include: 'Average', 'Count', 'Total'.",
            "type": "string"
          },
          "dimensions": {
            "description": "The dimensions of metric",
            "items": {
              "$ref": "#/components/schemas/DimensionProperties"
            },
            "type": "array"
          },
          "displayDescription": {
            "description": "Display description of Metric specification.",
            "type": "string"
          },
          "displayName": {
            "description": "Display name of Metric specification.",
            "type": "string"
          },
          "fillGapWithZero": {
            "description": "Property to specify whether to fill gap with zero.",
            "type": "boolean"
          },
          "internalMetricName": {
            "description": "The internal metric name.",
            "type": "string"
          },
          "lockAggregationType": {
            "description": "The metric lock aggregation type.",
            "type": "string"
          },
          "name": {
            "description": "Name of metric specification.",
            "type": "string"
          },
          "supportedAggregationTypes": {
            "description": "The supported aggregation types for the metrics.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "supportedTimeGrainTypes": {
            "description": "The supported time grain types for the metrics.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "unit": {
            "description": "The metric unit. Possible values include: 'Bytes', 'Count', 'Milliseconds'.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Operation": {
        "description": "Key Vault REST API operation definition.",
        "properties": {
          "display": {
            "description": "Display metadata associated with the operation.",
            "properties": {
              "description": {
                "description": "Description of operation.",
                "type": "string"
              },
              "operation": {
                "description": "Type of operation: get, read, delete, etc.",
                "type": "string"
              },
              "provider": {
                "description": "Service provider: Microsoft Key Vault.",
                "type": "string"
              },
              "resource": {
                "description": "Resource on which the operation is performed etc.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "isDataAction": {
            "description": "Property to specify whether the action is a data action.",
            "type": "boolean"
          },
          "name": {
            "description": "Operation name: {provider}/{resource}/{operation}",
            "type": "string"
          },
          "origin": {
            "description": "The origin of operations.",
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/OperationProperties",
            "description": "Properties of operation, include metric specifications.",
            "x-ms-client-flatten": true,
            "x-ms-client-name": "OperationProperties"
          }
        },
        "type": "object"
      },
      "OperationListResult": {
        "description": "Result of the request to list Storage operations. It contains a list of operations and a URL link to get the next set of results.",
        "properties": {
          "nextLink": {
            "description": "The URL to get the next set of operations.",
            "type": "string"
          },
          "value": {
            "description": "List of Storage operations supported by the Storage resource provider.",
            "items": {
              "$ref": "#/components/schemas/Operation"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "OperationProperties": {
        "description": "Properties of operation, include metric specifications.",
        "properties": {
          "serviceSpecification": {
            "$ref": "#/components/schemas/ServiceSpecification",
            "description": "One property of operation, include metric specifications."
          }
        },
        "type": "object"
      },
      "ServiceSpecification": {
        "description": "One property of operation, include log specifications.",
        "properties": {
          "logSpecifications": {
            "description": "Log specifications of operation.",
            "items": {
              "$ref": "#/components/schemas/LogSpecification"
            },
            "type": "array"
          },
          "metricSpecifications": {
            "description": "Metric specifications of operation.",
            "items": {
              "$ref": "#/components/schemas/MetricSpecification"
            },
            "type": "array"
          }
        },
        "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": []
    }
  ]
}