swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Use these REST APIs for performing operations on the ApiVersionSet entity associated with your Azure API Management deployment. Using this entity you create and manage API Version Sets that are used to group APIs for consistent versioning.
  title: ApiManagementClient
  version: 2018-06-01-preview
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/apimversionsets.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: apimanagement-apimversionsets
  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:
  ApiVersionSetIdParameter:
    description: Api Version Set identifier. Must be unique in the current API Management service instance.
    in: path
    maxLength: 80
    minLength: 1
    name: versionSetId
    pattern: (^[\w]+$)|(^[\w][\w\-]+[\w]$)
    required: true
    type: string
    x-ms-parameter-location: method
paths:
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets":
    get:
      description: Lists a collection of API Version Sets in the specified service instance.
      operationId: ApiVersionSet_ListByService
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The name of the API Management service.
          in: path
          maxLength: 50
          minLength: 1
          name: serviceName
          pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Version of the API to be used with the client request.
          in: query
          name: api-version
          required: true
          type: string
        - 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
          type: string
        - description: |-
            | Field            | Supported operators    | Supported functions               |
            |------------------|------------------------|-----------------------------------|
            | id               | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
            | firstName        | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
            | lastName         | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
            | email            | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
            | state            | eq                     | N/A                               |
            | registrationDate | ge, le, eq, ne, gt, lt | N/A                               |
            | note             | ge, le, eq, ne, gt, lt | substringof, contains, startswith, endswith |
          in: query
          name: $filter
          required: false
          type: string
        - description: Number of records to return.
          format: int32
          in: query
          minimum: 1
          name: $top
          required: false
          type: integer
          x-ms-parameter-location: method
        - description: Number of records to skip.
          format: int32
          in: query
          minimum: 0
          name: $skip
          required: false
          type: integer
          x-ms-parameter-location: method
      responses:
        "200":
          description: Lists a collection of Api Version Set entities.
          schema:
            $ref: "#/definitions/ApiVersionSetCollection"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error Response.
            properties:
              error:
                description: Error Body contract.
                properties:
                  code:
                    description: Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.
                    type: string
                  details:
                    description: The list of invalid fields send in request, in case of validation error.
                    items:
                      description: Error Field contract.
                      properties:
                        code:
                          description: Property level error code.
                          type: string
                        message:
                          description: Human-readable representation of property-level error.
                          type: string
                        target:
                          description: Property name.
                          type: string
                    type: array
                  message:
                    description: Human-readable representation of the error.
                    type: string
      tags:
        - ApiVersionSets
      x-ms-examples:
        ApiManagementListApiVersionSets:
          parameters:
            api-version: 2018-06-01-preview
            resourceGroupName: rg1
            serviceName: apimService1
            subscriptionId: subid
          responses:
            "200":
              body:
                nextLink: ""
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/vs1
                    name: vs1
                    properties:
                      description: Version configuration
                      displayName: api set 1
                      versioningScheme: Segment
                    type: Microsoft.ApiManagement/service/api-version-sets
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/vs2
                    name: vs2
                    properties:
                      description: Version configuration 2
                      displayName: api set 2
                      versioningScheme: Query
                    type: Microsoft.ApiManagement/service/api-version-sets
      x-ms-odata: "#/definitions/ApiVersionSetContract"
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/api-version-sets/{versionSetId}":
    delete:
      description: Deletes specific Api Version Set.
      operationId: ApiVersionSet_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The name of the API Management service.
          in: path
          maxLength: 50
          minLength: 1
          name: serviceName
          pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Version of the API to be used with the client request.
          in: query
          name: api-version
          required: true
          type: string
        - 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
          type: string
        - $ref: "#/parameters/ApiVersionSetIdParameter"
        - description: ETag of the Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.
          in: header
          name: If-Match
          required: true
          type: string
          x-ms-parameter-location: method
      responses:
        "200":
          description: The ApiVersion Set details were successfully deleted.
        "204":
          description: The ApiVersion Set details were successfully deleted.
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error Response.
            properties:
              error:
                description: Error Body contract.
                properties:
                  code:
                    description: Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.
                    type: string
                  details:
                    description: The list of invalid fields send in request, in case of validation error.
                    items:
                      description: Error Field contract.
                      properties:
                        code:
                          description: Property level error code.
                          type: string
                        message:
                          description: Human-readable representation of property-level error.
                          type: string
                        target:
                          description: Property name.
                          type: string
                    type: array
                  message:
                    description: Human-readable representation of the error.
                    type: string
      tags:
        - ApiVersionSets
      x-ms-examples:
        ApiManagementDeleteApiVersionSet:
          parameters:
            If-Match: "*"
            api-version: 2018-06-01-preview
            resourceGroupName: rg1
            serviceName: apimService1
            subscriptionId: subid
            versionSetId: a1
          responses:
            "200": {}
            "204": {}
    get:
      description: Gets the details of the Api Version Set specified by its identifier.
      operationId: ApiVersionSet_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The name of the API Management service.
          in: path
          maxLength: 50
          minLength: 1
          name: serviceName
          pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Version of the API to be used with the client request.
          in: query
          name: api-version
          required: true
          type: string
        - 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
          type: string
        - $ref: "#/parameters/ApiVersionSetIdParameter"
      responses:
        "200":
          description: Gets the specified Api Version Set entity.
          headers:
            ETag:
              description: Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.
              type: string
          schema:
            $ref: "#/definitions/ApiVersionSetContract"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error Response.
            properties:
              error:
                description: Error Body contract.
                properties:
                  code:
                    description: Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.
                    type: string
                  details:
                    description: The list of invalid fields send in request, in case of validation error.
                    items:
                      description: Error Field contract.
                      properties:
                        code:
                          description: Property level error code.
                          type: string
                        message:
                          description: Human-readable representation of property-level error.
                          type: string
                        target:
                          description: Property name.
                          type: string
                    type: array
                  message:
                    description: Human-readable representation of the error.
                    type: string
      tags:
        - ApiVersionSets
      x-ms-examples:
        ApiManagementGetApiVersionSet:
          parameters:
            api-version: 2018-06-01-preview
            resourceGroupName: rg1
            serviceName: apimService1
            subscriptionId: subid
            versionSetId: vs1
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/vs1
                name: vs1
                properties:
                  description: Version configuration
                  displayName: Version Set 1
                  versioningScheme: Segment
                type: Microsoft.ApiManagement/service/api-version-sets
    head:
      description: Gets the entity state (Etag) version of the Api Version Set specified by its identifier.
      operationId: ApiVersionSet_GetEntityTag
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The name of the API Management service.
          in: path
          maxLength: 50
          minLength: 1
          name: serviceName
          pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Version of the API to be used with the client request.
          in: query
          name: api-version
          required: true
          type: string
        - 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
          type: string
        - $ref: "#/parameters/ApiVersionSetIdParameter"
      responses:
        "200":
          description: Specified Api Version Set entity exists and current entity state version is present in the ETag header.
          headers:
            ETag:
              description: Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.
              type: string
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error Response.
            properties:
              error:
                description: Error Body contract.
                properties:
                  code:
                    description: Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.
                    type: string
                  details:
                    description: The list of invalid fields send in request, in case of validation error.
                    items:
                      description: Error Field contract.
                      properties:
                        code:
                          description: Property level error code.
                          type: string
                        message:
                          description: Human-readable representation of property-level error.
                          type: string
                        target:
                          description: Property name.
                          type: string
                    type: array
                  message:
                    description: Human-readable representation of the error.
                    type: string
      tags:
        - ApiVersionSets
      x-ms-examples:
        ApiManagementHeadApiVersionSet:
          parameters:
            api-version: 2018-06-01-preview
            resourceGroupName: rg1
            serviceName: apimService1
            subscriptionId: subid
            versionSetId: vs1
          responses:
            "200":
              headers:
                etag: AAAAAAAAAAa=
    patch:
      description: Updates the details of the Api VersionSet specified by its identifier.
      operationId: ApiVersionSet_Update
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The name of the API Management service.
          in: path
          maxLength: 50
          minLength: 1
          name: serviceName
          pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Version of the API to be used with the client request.
          in: query
          name: api-version
          required: true
          type: string
        - 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
          type: string
        - $ref: "#/parameters/ApiVersionSetIdParameter"
        - description: Update parameters.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ApiVersionSetUpdateParameters"
        - description: ETag of the Entity. ETag should match the current entity state from the header response of the GET request or it should be * for unconditional update.
          in: header
          name: If-Match
          required: true
          type: string
          x-ms-parameter-location: method
      responses:
        "204":
          description: The Api Version Set details were successfully updated.
        default:
          description: |-
            *** Error Responses: ***

             * 4XX Error response giving details why the operation failed.
          schema:
            description: Error Response.
            properties:
              error:
                description: Error Body contract.
                properties:
                  code:
                    description: Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.
                    type: string
                  details:
                    description: The list of invalid fields send in request, in case of validation error.
                    items:
                      description: Error Field contract.
                      properties:
                        code:
                          description: Property level error code.
                          type: string
                        message:
                          description: Human-readable representation of property-level error.
                          type: string
                        target:
                          description: Property name.
                          type: string
                    type: array
                  message:
                    description: Human-readable representation of the error.
                    type: string
      tags:
        - ApiVersionSets
      x-ms-examples:
        ApiManagementUpdateApiVersionSet:
          parameters:
            If-Match: "*"
            api-version: 2018-06-01-preview
            parameters:
              properties:
                description: Version configuration
                displayName: api set 1
                versioningScheme: Segment
            resourceGroupName: rg1
            serviceName: apimService1
            subscriptionId: subid
            versionSetId: api1
          responses:
            "204": {}
    put:
      description: Creates or Updates a Api Version Set.
      operationId: ApiVersionSet_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
          x-ms-parameter-location: method
        - description: The name of the API Management service.
          in: path
          maxLength: 50
          minLength: 1
          name: serviceName
          pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$
          required: true
          type: string
          x-ms-parameter-location: method
        - description: Version of the API to be used with the client request.
          in: query
          name: api-version
          required: true
          type: string
        - 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
          type: string
        - $ref: "#/parameters/ApiVersionSetIdParameter"
        - description: Create or update parameters.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ApiVersionSetContract"
        - description: ETag of the Entity. Not required when creating an entity, but required when updating an entity.
          in: header
          name: If-Match
          required: false
          type: string
          x-ms-parameter-location: method
      responses:
        "200":
          description: Api Version Set was successfully updated.
          schema:
            $ref: "#/definitions/ApiVersionSetContract"
        "201":
          description: Api Version Set was successfully created.
          schema:
            $ref: "#/definitions/ApiVersionSetContract"
        default:
          description: Error response describing why the operation failed.
          schema:
            description: Error Response.
            properties:
              error:
                description: Error Body contract.
                properties:
                  code:
                    description: Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response.
                    type: string
                  details:
                    description: The list of invalid fields send in request, in case of validation error.
                    items:
                      description: Error Field contract.
                      properties:
                        code:
                          description: Property level error code.
                          type: string
                        message:
                          description: Human-readable representation of property-level error.
                          type: string
                        target:
                          description: Property name.
                          type: string
                    type: array
                  message:
                    description: Human-readable representation of the error.
                    type: string
      tags:
        - ApiVersionSets
      x-ms-examples:
        ApiManagementCreateApiVersionSet:
          parameters:
            api-version: 2018-06-01-preview
            parameters:
              properties:
                description: Version configuration
                displayName: api set 1
                versioningScheme: Segment
            resourceGroupName: rg1
            serviceName: apimService1
            subscriptionId: subid
            versionSetId: api1
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/api1
                name: api1
                properties:
                  description: Version configuration
                  displayName: api set 1
                  versioningScheme: Segment
                type: Microsoft.ApiManagement/service/api-version-sets
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/api-version-sets/api1
                name: api1
                properties:
                  description: Version configuration
                  displayName: api set 1
                  versioningScheme: Segment
                type: Microsoft.ApiManagement/service/api-version-sets
definitions:
  ApiVersionSetCollection:
    description: Paged Api Version Set list representation.
    properties:
      nextLink:
        description: Next page link if any.
        type: string
      value:
        description: Page values.
        items:
          $ref: "#/definitions/ApiVersionSetContract"
        type: array
  ApiVersionSetContract:
    allOf:
      - description: The Resource definition.
        properties:
          id:
            description: Resource ID.
            readOnly: true
            type: string
          name:
            description: Resource name.
            readOnly: true
            type: string
          type:
            description: Resource type for API Management resource.
            readOnly: true
            type: string
        x-ms-azure-resource: true
    description: Api Version Set Contract details.
    properties:
      properties:
        $ref: "#/definitions/ApiVersionSetContractProperties"
        description: Api VersionSet contract properties.
        x-ms-client-flatten: true
  ApiVersionSetContractProperties:
    allOf:
      - $ref: "#/definitions/ApiVersionSetEntityBase"
    description: Properties of an API Version Set.
    properties:
      displayName:
        description: Name of API Version Set
        maxLength: 100
        minLength: 1
        type: string
      versioningScheme:
        description: An value that determines where the API Version identifer will be located in a HTTP request.
        enum:
          - Segment
          - Query
          - Header
        type: string
        x-ms-enum:
          modelAsString: true
          name: versioningScheme
          values:
            - description: The API Version is passed in a path segment.
              value: Segment
            - description: The API Version is passed in a query parameter.
              value: Query
            - description: The API Version is passed in a HTTP header.
              value: Header
    required:
      - displayName
      - versioningScheme
  ApiVersionSetEntityBase:
    description: Api Version set base parameters
    properties:
      description:
        description: Description of API Version Set.
        type: string
      versionHeaderName:
        description: Name of HTTP header parameter that indicates the API Version if versioningScheme is set to `header`.
        maxLength: 100
        minLength: 1
        type: string
      versionQueryName:
        description: Name of query parameter that indicates the API Version if versioningScheme is set to `query`.
        maxLength: 100
        minLength: 1
        type: string
  ApiVersionSetUpdateParameters:
    description: Parameters to update or create an Api Version Set Contract.
    properties:
      properties:
        $ref: "#/definitions/ApiVersionSetUpdateParametersProperties"
        description: Parameters to update or create an Api Version Set Contract.
        x-ms-client-flatten: true
  ApiVersionSetUpdateParametersProperties:
    allOf:
      - $ref: "#/definitions/ApiVersionSetEntityBase"
    description: Properties used to create or update an API Version Set.
    properties:
      displayName:
        description: Name of API Version Set
        maxLength: 100
        minLength: 1
        type: string
      versioningScheme:
        description: An value that determines where the API Version identifer will be located in a HTTP request.
        enum:
          - Segment
          - Query
          - Header
        type: string
        x-ms-enum:
          modelAsString: true
          name: versioningScheme
          values:
            - description: The API Version is passed in a path segment.
              value: Segment
            - description: The API Version is passed in a query parameter.
              value: Query
            - description: The API Version is passed in a HTTP header.
              value: Header
