swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Manage Multi-Access Keys (MAK) that enable Windows Extended Security Updates (ESU).
  title: windowsesu
  version: 2019-09-16-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-ms-code-generation-settings:
    name: windowsesuClient
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/windowsesu/resource-manager/Microsoft.WindowsESU/preview/2019-09-16-preview/windowsesu.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: windowsesu
  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:
  MultipleActivationKeyNameParameter:
    description: The name of the MAK key.
    in: path
    name: multipleActivationKeyName
    required: true
    type: string
    x-ms-parameter-location: method
paths:
  /providers/Microsoft.WindowsESU/operations:
    get:
      description: List all available Windows.ESU provider operations.
      operationId: Operations_List
      parameters:
        - description: The API version to use for this operation.
          in: query
          minLength: 1
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/OperationList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Operations
      x-ms-examples:
        ListOperations:
          parameters:
            api-version: 2019-09-16
          responses:
            "200":
              body:
                value:
                  - display:
                      description: List MAK keys.
                      operation: List MAK keys
                      provider: Microsoft Windows Extended Security Updates
                      resource: multipleActivationKey
                    name: Microsoft.WindowsESU/multipleActivationKeys/Read
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.WindowsESU/multipleActivationKeys":
    get:
      description: List all Multiple Activation Keys (MAK) created for a subscription.
      operationId: MultipleActivationKeys_List
      parameters:
        - description: The ID of the target subscription.
          in: path
          minLength: 1
          name: subscriptionId
          required: true
          type: string
        - description: The API version to use for this operation.
          in: query
          minLength: 1
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/MultipleActivationKeyList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - MultipleActivationKeys
      x-ms-examples:
        ListMultipleActivationKeys:
          parameters:
            api-version: 2019-09-16
            subscriptionId: fd3c3665-1729-4b7b-9a38-238e83b0f98b
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg1/providers/Microsoft.WindowsESU/multipleActivationKeys/server08-key-2019
                    location: East US
                    name: server08-key-2019
                    properties:
                      agreementNumber: 1a2b45ag
                      expirationDate: 2020-11-21T21:12:26+00:00
                      installedServerNumber: 100
                      isEligible: true
                      multipleActivationKey: aaaaa-bbbbb-ccccc-ddddd-eeeee
                      osType: WindowsServer2008
                      provisioningState: Succeeded
                      supportType: SupplementalServicing
                    type: Microsoft.WindowsESU/multipleActivationKeys
                  - id: /subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg1/providers/Microsoft.WindowsESU/multipleActivationKeys/server08r2-key-2019
                    location: East US
                    name: server08r2-key-2019
                    properties:
                      agreementNumber: 1a2b45ag
                      expirationDate: 2020-12-01T10:33:09+00:00
                      installedServerNumber: 100
                      isEligible: true
                      multipleActivationKey: aaaaa-bbbbb-ccccc-ddddd-eeeee
                      osType: WindowsServer2008R2
                      provisioningState: Succeeded
                      supportType: SupplementalServicing
                    type: Microsoft.WindowsESU/multipleActivationKeys
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.WindowsESU/multipleActivationKeys":
    get:
      description: List all Multiple Activation Keys (MAK) in a resource group.
      operationId: MultipleActivationKeys_ListByResourceGroup
      parameters:
        - description: The ID of the target subscription.
          in: path
          minLength: 1
          name: subscriptionId
          required: true
          type: string
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The API version to use for this operation.
          in: query
          minLength: 1
          name: api-version
          required: true
          type: string
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/MultipleActivationKeyList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - MultipleActivationKeys
      x-ms-examples:
        ListMultipleActivationKeys:
          parameters:
            api-version: 2019-09-16
            resourceGroupName: testrg1
            subscriptionId: fd3c3665-1729-4b7b-9a38-238e83b0f98b
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg1/providers/Microsoft.WindowsESU/multipleActivationKeys/server08-key-2019
                    location: East US
                    name: server08-key-2019
                    properties:
                      agreementNumber: 1a2b45ag
                      expirationDate: 2020-11-21T21:12:26+00:00
                      installedServerNumber: 100
                      isEligible: true
                      multipleActivationKey: aaaaa-bbbbb-ccccc-ddddd-eeeee
                      osType: WindowsServer2008
                      provisioningState: Succeeded
                      supportType: SupplementalServicing
                    type: Microsoft.WindowsESU/multipleActivationKeys
                  - id: /subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testrg1/providers/Microsoft.WindowsESU/multipleActivationKeys/server08r2-key-2019
                    location: East US
                    name: server08r2-key-2019
                    properties:
                      agreementNumber: 1a2b45ag
                      expirationDate: 2020-12-01T10:33:09+00:00
                      installedServerNumber: 100
                      isEligible: true
                      multipleActivationKey: aaaaa-bbbbb-ccccc-ddddd-eeeee
                      osType: WindowsServer2008R2
                      provisioningState: Succeeded
                      supportType: SupplementalServicing
                    type: Microsoft.WindowsESU/multipleActivationKeys
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.WindowsESU/multipleActivationKeys/{multipleActivationKeyName}":
    delete:
      description: Delete a MAK key.
      operationId: MultipleActivationKeys_Delete
      parameters:
        - description: The ID of the target subscription.
          in: path
          minLength: 1
          name: subscriptionId
          required: true
          type: string
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The API version to use for this operation.
          in: query
          minLength: 1
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/MultipleActivationKeyNameParameter"
      responses:
        "200":
          description: OK
        "204":
          description: No Content
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - MultipleActivationKeys
      x-ms-examples:
        DeleteMultipleActivationKey:
          parameters:
            api-version: 2019-09-16
            multipleActivationKeyName: server08-key-2019
            resourceGroupName: testgr1
            subscriptionId: fd3c3665-1729-4b7b-9a38-238e83b0f98b
          responses:
            "200": {}
            "204": {}
    get:
      description: Get a MAK key.
      operationId: MultipleActivationKeys_Get
      parameters:
        - description: The ID of the target subscription.
          in: path
          minLength: 1
          name: subscriptionId
          required: true
          type: string
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The API version to use for this operation.
          in: query
          minLength: 1
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/MultipleActivationKeyNameParameter"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/MultipleActivationKey"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - MultipleActivationKeys
      x-ms-examples:
        GetMultipleActivationKey:
          parameters:
            api-version: 2019-09-16
            multipleActivationKeyName: server08-key-2019
            resourceGroupName: testgr1
            subscriptionId: fd3c3665-1729-4b7b-9a38-238e83b0f98b
          responses:
            "200":
              body:
                id: /subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testgr1/providers/Microsoft.WindowsESU/multipleActivationKeys/server08-key-2019
                location: East US
                name: server08-key-2019
                properties:
                  agreementNumber: 1a2b45ag
                  expirationDate: 2020-11-21T21:12:26+00:00
                  installedServerNumber: 100
                  isEligible: true
                  multipleActivationKey: aaaaa-bbbbb-ccccc-ddddd-eeeee
                  osType: WindowsServer2008
                  provisioningState: Succeeded
                  supportType: SupplementalServicing
                type: Microsoft.WindowsESU/multipleActivationKeys
    patch:
      description: Update a MAK key.
      operationId: MultipleActivationKeys_Update
      parameters:
        - description: The ID of the target subscription.
          in: path
          minLength: 1
          name: subscriptionId
          required: true
          type: string
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The API version to use for this operation.
          in: query
          minLength: 1
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/MultipleActivationKeyNameParameter"
        - description: Details of the MAK key.
          in: body
          name: multipleActivationKey
          required: true
          schema:
            $ref: "#/definitions/MultipleActivationKeyUpdate"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/MultipleActivationKey"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - MultipleActivationKeys
      x-ms-examples:
        UpdateMultipleActivationKey:
          parameters:
            api-version: 2019-09-16
            multipleActivationKey:
              tags:
                tag1: value1
                tag2: value2
            multipleActivationKeyName: server08-key-2019
            resourceGroupName: testgr1
            subscriptionId: fd3c3665-1729-4b7b-9a38-238e83b0f98b
          responses:
            "200":
              body:
                id: /subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testgr1/providers/Microsoft.WindowsESU/multipleActivationKeys/server08-key-2019
                location: East US
                name: server08-key-2019
                properties:
                  agreementNumber: 1a2b45ag
                  expirationDate: 2020-11-21T21:12:26+00:00
                  installedServerNumber: 100
                  isEligible: true
                  multipleActivationKey: aaaaa-bbbbb-ccccc-ddddd-eeeee
                  osType: WindowsServer2008
                  provisioningState: Succeeded
                  supportType: SupplementalServicing
                tags:
                  tag1: value1
                  tag2: value2
                type: Microsoft.WindowsESU/multipleActivationKeys
    put:
      description: Create a MAK key.
      operationId: MultipleActivationKeys_Create
      parameters:
        - description: The ID of the target subscription.
          in: path
          minLength: 1
          name: subscriptionId
          required: true
          type: string
        - description: The name of the resource group. The name is case insensitive.
          in: path
          maxLength: 90
          minLength: 1
          name: resourceGroupName
          pattern: ^[-\w\._\(\)]+$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The API version to use for this operation.
          in: query
          minLength: 1
          name: api-version
          required: true
          type: string
        - $ref: "#/parameters/MultipleActivationKeyNameParameter"
        - description: Details of the MAK key.
          in: body
          name: multipleActivationKey
          required: true
          schema:
            $ref: "#/definitions/MultipleActivationKey"
      responses:
        "200":
          description: OK
          schema:
            $ref: "#/definitions/MultipleActivationKey"
        "201":
          description: Created
          schema:
            $ref: "#/definitions/MultipleActivationKey"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - MultipleActivationKeys
      x-ms-examples:
        CreateMultipleActivationKey:
          parameters:
            api-version: 2019-09-16
            multipleActivationKey:
              location: East US
              properties:
                agreementNumber: 1a2b45ag
                installedServerNumber: 100
                isEligible: true
                osType: WindowsServer2008
                supportType: SupplementalServicing
            multipleActivationKeyName: server08-key-2019
            resourceGroupName: testgr1
            subscriptionId: fd3c3665-1729-4b7b-9a38-238e83b0f98b
          responses:
            "200":
              body:
                id: /subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testgr1/providers/Microsoft.WindowsESU/multipleActivationKeys/server08-key-2019
                location: East US
                name: server08-key-2019
                properties:
                  agreementNumber: 1a2b45ag
                  expirationDate: 2020-11-21T21:12:26+00:00
                  installedServerNumber: 100
                  isEligible: true
                  multipleActivationKey: aaaaa-bbbbb-ccccc-ddddd-eeeee
                  osType: WindowsServer2008
                  provisioningState: Accepted
                  supportType: SupplementalServicing
                type: Microsoft.WindowsESU/multipleActivationKeys
            "201":
              body:
                id: /subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/testgr1/providers/Microsoft.WindowsESU/multipleActivationKeys/server08-key-2019
                location: East US
                name: server08-key-2019
                properties:
                  agreementNumber: 1a2b45ag
                  expirationDate: 2020-11-21T21:12:26+00:00
                  installedServerNumber: 100
                  isEligible: true
                  multipleActivationKey: aaaaa-bbbbb-ccccc-ddddd-eeeee
                  osType: WindowsServer2008
                  provisioningState: Accepted
                  supportType: SupplementalServicing
                type: Microsoft.WindowsESU/multipleActivationKeys
      x-ms-long-running-operation: true
definitions:
  ErrorDefinition:
    description: Error definition.
    properties:
      code:
        description: Service specific error code which serves as the substatus for the HTTP error code.
        readOnly: true
        type: string
      details:
        description: Internal error details.
        items:
          $ref: "#/definitions/ErrorDefinition"
        readOnly: true
        type: array
      message:
        description: Description of the error.
        readOnly: true
        type: string
  ErrorResponse:
    description: Error response.
    properties:
      error:
        $ref: "#/definitions/ErrorDefinition"
        description: The error details.
  MultipleActivationKey:
    allOf:
      - allOf:
          - properties:
              id:
                description: Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{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.Compute/virtualMachines or Microsoft.Storage/storageAccounts.
                readOnly: true
                type: string
            x-ms-azure-resource: true
        description: The resource model definition for a ARM tracked top level resource
        properties:
          location:
            description: The geo-location 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
        required:
          - location
    description: MAK key details.
    properties:
      properties:
        description: MAK key specific properties.
        properties:
          agreementNumber:
            description: Agreement number under which the key is requested.
            type: string
            x-ms-mutability:
              - create
              - read
          expirationDate:
            description: End of support of security updates activated by the MAK key.
            format: date-time
            readOnly: true
            type: string
          installedServerNumber:
            description: Number of activations/servers using the MAK key.
            maximum: 5000
            minimum: 1
            type: integer
            x-ms-mutability:
              - create
              - read
          isEligible:
            description: <code> true </code> if user has eligible on-premises Windows physical or virtual machines, and that the requested key will only be used in their organization; <code> false </code> otherwise.
            type: boolean
            x-ms-mutability:
              - create
              - read
          multipleActivationKey:
            description: MAK 5x5 key.
            readOnly: true
            type: string
          osType:
            description: Type of OS for which the key is requested.
            enum:
              - Windows7
              - WindowsServer2008
              - WindowsServer2008R2
            type: string
            x-ms-enum:
              modelAsString: true
              name: OsType
            x-ms-mutability:
              - create
              - read
          provisioningState:
            enum:
              - Succeeded
              - Failed
              - Canceled
              - Accepted
              - Provisioning
            readOnly: true
            type: string
            x-ms-enum:
              modelAsString: true
              name: ProvisioningState
          supportType:
            default: SupplementalServicing
            description: Type of support
            enum:
              - SupplementalServicing
              - PremiumAssurance
            type: string
            x-ms-enum:
              modelAsString: true
              name: SupportType
            x-ms-mutability:
              - create
              - read
        type: object
        x-ms-client-flatten: true
    type: object
    x-ms-azure-resource: true
  MultipleActivationKeyList:
    description: List of MAK keys.
    properties:
      nextLink:
        description: Link to the next page of resources.
        readOnly: true
        type: string
      value:
        description: List of MAK keys.
        items:
          $ref: "#/definitions/MultipleActivationKey"
        type: array
    type: object
  MultipleActivationKeyUpdate:
    description: MAK key details.
    properties:
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
    type: object
  Operation:
    description: REST API operation details.
    properties:
      display:
        $ref: "#/definitions/OperationDisplay"
      name:
        description: Name of the operation.
        readOnly: true
        type: string
    type: object
  OperationDisplay:
    description: Meta data about operation used for display in portal.
    properties:
      description:
        type: string
      operation:
        type: string
      provider:
        type: string
      resource:
        type: string
    type: object
  OperationList:
    description: List of available REST API operations.
    properties:
      nextLink:
        description: Link to the next page of resources.
        readOnly: true
        type: string
      value:
        description: List of operations.
        items:
          $ref: "#/definitions/Operation"
        type: array
    type: object
