swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Use this API to manage the IoTSpaces service instances in your Azure subscription.
  title: IoTSpacesClient
  version: 2017-10-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-ms-code-generation-settings:
    header: MICROSOFT_MIT_NO_VERSION
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iotspaces/resource-manager/Microsoft.IoTSpaces/preview/2017-10-01-preview/iotspaces.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: iotspaces
  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:
  api-version:
    description: The version of the API.
    enum:
      - 2017-10-01-preview
    in: query
    minLength: 10
    name: api-version
    required: true
    type: string
  resourceGroupName:
    description: The name of the resource group that contains the IoTSpaces instance.
    in: path
    maxLength: 64
    minLength: 1
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  resourceName:
    description: The name of the IoTSpaces instance.
    in: path
    maxLength: 64
    minLength: 1
    name: resourceName
    required: true
    type: string
    x-ms-parameter-location: method
  subscriptionId:
    description: The subscription identifier.
    format: uuid
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.IoTSpaces/operations:
    get:
      deprecated: false
      description: Lists all of the available IoTSpaces service REST API operations.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/api-version"
      responses:
        "200":
          description: OK. The request has succeeded.
          schema:
            $ref: "#/definitions/OperationListResult"
        default:
          description: DefaultErrorResponse
          schema:
            $ref: "#/definitions/ErrorDetails"
      tags:
        - Proxy
      x-ms-examples:
        Get available operations:
          parameters:
            api-version: 2017-10-01-preview
          responses:
            "200":
              body:
                value:
                  - display:
                      description: Check IoT Spaces Service name availability.
                      operation: Check IoT Spaces Service name availability.
                      provider: Microsoft IoT Spaces Service
                      resource: Microsoft IoT Spaces Service instance
                    name: Microsoft.IoTSpaces/checkNameAvailability/action
                  - display:
                      description: Create or update a IoT Spaces Service instance.
                      operation: Create or update a IoT Spaces Service instance.
                      provider: Microsoft IoT Spaces Service
                      resource: Microsoft IoT Spaces Service instance
                    name: Microsoft.IoTSpaces/Graph/write
                  - display:
                      description: Get a IoT Spaces Service instance.
                      operation: Get a IoT Spaces Service instance.
                      provider: Microsoft IoT Spaces Service
                      resource: Microsoft IoT Spaces Service instance
                    name: Microsoft.IoTSpaces/Graph/read
                  - display:
                      description: Delete a IoT Spaces Service instance.
                      operation: Delete a IoT Spaces Service instance.
                      provider: Microsoft IoT Spaces Service
                      resource: Microsoft IoT Spaces Service instance
                    name: Microsoft.IoTSpaces/Graph/delete
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/Graph":
    get:
      deprecated: false
      description: Get all the IoTSpaces instances in a subscription.
      operationId: IoTSpaces_List
      parameters:
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/subscriptionId"
      responses:
        "200":
          description: This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoTSpaces instances in the subscription.
          schema:
            $ref: "#/definitions/IoTSpacesDescriptionListResult"
        default:
          description: DefaultErrorResponse
          schema:
            $ref: "#/definitions/ErrorDetails"
      tags:
        - Collection
      x-ms-examples:
        Get IoT spaces services by subscription:
          parameters:
            api-version: 2017-10-01-preview
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.IoTSpaces/IoTSpacesService/myIoTSpacesService
                    location: westus
                    name: myIoTSpacesService
                    properties:
                      managementApiUrl: myIoTSpacesService-management.AzureIoTSpaces.net
                      provisioningState: Provisioning
                      storageContainer:
                        containerName: myStorageContainer
                        resourceGroup: resReg
                        subscriptionId: 00000000-0000-0000-0000-000000000000
                      webPortalUrl: myIoTSpacesService-webportal.AzureIoTSpaces.net
                    sku:
                      name: F1
                    type: Microsoft.IoTSpaces/IoTSpacesService
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.IoTSpaces/checkNameAvailability":
    post:
      deprecated: false
      description: Check if an IoTSpaces instance name is available.
      operationId: IoTSpaces_CheckNameAvailability
      parameters:
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/subscriptionId"
        - description: Set the name parameter in the OperationInputs structure to the name of the IoTSpaces instance to check.
          in: body
          name: operationInputs
          required: true
          schema:
            $ref: "#/definitions/OperationInputs"
      responses:
        "200":
          description: This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the IoTSpaces service name is available. If the name is not available, the body contains the reason.
          schema:
            $ref: "#/definitions/IoTSpacesNameAvailabilityInfo"
        default:
          description: DefaultErrorResponse
          schema:
            $ref: "#/definitions/ErrorDetails"
      tags:
        - Proxy
      x-ms-examples:
        Check name Availability:
          parameters:
            api-version: 2017-10-01-preview
            operationInputs:
              name: myIoTSpacesService
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                nameAvailable: true
              headers: {}
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph":
    get:
      deprecated: false
      description: Get all the IoTSpaces instances in a resource group.
      operationId: IoTSpaces_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
      responses:
        "200":
          description: This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the IoTSpaces instances in the resource group.
          schema:
            $ref: "#/definitions/IoTSpacesDescriptionListResult"
        default:
          description: DefaultErrorResponse
          schema:
            $ref: "#/definitions/ErrorDetails"
      tags:
        - Collection
      x-ms-examples:
        Get IoT spaces services by resource group:
          parameters:
            api-version: 2017-10-01-preview
            resourceGroupName: resRg
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.IoTSpaces/IoTSpacesService/myIoTSpacesService
                    location: westus
                    name: myIoTSpacesService
                    properties:
                      managementApiUrl: myIoTSpacesService-management.AzureIoTSpaces.net
                      provisioningState: Provisioning
                      storageContainer:
                        containerName: myStorageContainer
                        resourceGroup: resReg
                        subscriptionId: 00000000-0000-0000-0000-000000000000
                      webPortalUrl: myIoTSpacesService-webportal.AzureIoTSpaces.net
                    sku:
                      name: F1
                    type: Microsoft.IoTSpaces/IoTSpacesService
              headers: {}
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTSpaces/Graph/{resourceName}":
    delete:
      description: Delete an IoTSpaces instance.
      operationId: IoTSpaces_Delete
      parameters:
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/resourceName"
      responses:
        "200":
          description: This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state.
          schema:
            $ref: "#/definitions/IoTSpacesDescription"
        "202":
          description: Accepted - Delete request accepted; the operation will complete asynchronously.
        "204":
          description: Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the IoTSpaces service metadata in the service and the status of the delete operation is set to a completed state.
        default:
          description: DefaultErrorResponse
          schema:
            $ref: "#/definitions/ErrorDetails"
      tags:
        - Resource
      x-ms-examples:
        Delete an IoT spaces service:
          parameters:
            api-version: 2017-10-01-preview
            resourceGroupName: resRg
            resourceName: myIoTSpacesService
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.IoTSpaces/IoTSpacesService/myIoTSpacesService
                location: westus
                name: myIoTSpacesService
                properties:
                  managementApiUrl: myIoTSpacesService-management.AzureIoTSpaces.net
                  provisioningState: Deleting
                  storageContainer:
                    containerName: myStorageContainer
                    resourceGroup: resReg
                    subscriptionId: 00000000-0000-0000-0000-000000000000
                  webPortalUrl: myIoTSpacesService-webportal.AzureIoTSpaces.net
                sku:
                  name: F1
                type: Microsoft.IoTSpaces/IoTSpacesService
              headers: {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      deprecated: false
      description: Get the metadata of a IoTSpaces instance.
      operationId: IoTSpaces_Get
      parameters:
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/resourceName"
      responses:
        "200":
          description: The body contains all the non-security properties of the IoTSpaces instance. Security-related properties are set to null.
          schema:
            $ref: "#/definitions/IoTSpacesDescription"
        default:
          description: Default error response
          schema:
            $ref: "#/definitions/ErrorDetails"
      tags:
        - Resource
      x-ms-examples:
        Get a IoT spaces service:
          parameters:
            api-version: 2017-10-01-preview
            resourceGroupName: resRg
            resourceName: myIoTSpacesService
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.IoTSpaces/IoTSpacesService/myIoTSpacesService
                location: westus
                name: myIoTSpacesService
                properties:
                  managementApiUrl: myIoTSpacesService-management.AzureIoTSpaces.net
                  provisioningState: Provisioning
                  storageContainer:
                    containerName: myStorageContainer
                    resourceGroup: resReg
                    subscriptionId: 00000000-0000-0000-0000-000000000000
                  webPortalUrl: myIoTSpacesService-webportal.AzureIoTSpaces.net
                sku:
                  name: F1
                type: Microsoft.IoTSpaces/IoTSpacesService
              headers: {}
    patch:
      deprecated: false
      description: Update the metadata of a IoTSpaces instance.
      operationId: IoTSpaces_Update
      parameters:
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/resourceName"
        - description: The IoTSpaces instance metadata and security metadata.
          in: body
          name: iotSpacePatchDescription
          required: true
          schema:
            $ref: "#/definitions/IoTSpacesPatchDescription"
      responses:
        "200":
          description: This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.
          schema:
            $ref: "#/definitions/IoTSpacesDescription"
        "202":
          description: Accepted - Put request accepted; the operation will complete asynchronously.
        default:
          description: DefaultErrorResponse
          schema:
            $ref: "#/definitions/ErrorDetails"
      tags:
        - Resource
      x-ms-examples:
        Patch an IoT spaces service:
          parameters:
            api-version: 2017-10-01-preview
            iotSpacePatchDescription:
              properties:
                storageContainer:
                  connectionString: string
                  containerName: string
                  resourceGroup: string
                  subscriptionId: string
            resourceGroupName: resRg
            resourceName: myIoTSpacesService
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.IoTSpaces/IoTSpacesService/myIoTSpacesService
                location: westus
                name: myIoTSpacesService
                properties:
                  managementApiUrl: myIoTSpacesService-management.AzureIoTSpaces.net
                  provisioningState: Succeeded
                  storageContainer:
                    containerName: myStorageContainer
                    resourceGroup: resReg
                    subscriptionId: 00000000-0000-0000-0000-000000000000
                  webPortalUrl: myIoTSpacesService-webportal.AzureIoTSpaces.net
                sku:
                  name: F1
                type: Microsoft.IoTSpaces/IoTSpacesService
              headers: {}
            "202": {}
      x-ms-long-running-operation: true
    put:
      deprecated: false
      description: Create or update the metadata of an IoTSpaces instance. The usual pattern to modify a property is to retrieve the IoTSpaces instance metadata and security metadata, and then combine them with the modified values in a new body to update the IoTSpaces instance.
      operationId: IoTSpaces_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/api-version"
        - $ref: "#/parameters/subscriptionId"
        - $ref: "#/parameters/resourceGroupName"
        - $ref: "#/parameters/resourceName"
        - description: The IoTSpaces instance metadata and security metadata.
          in: body
          name: iotSpaceDescription
          required: true
          schema:
            $ref: "#/definitions/IoTSpacesDescription"
      responses:
        "200":
          description: This is returned as a response to the status polling request for the create or update operation. The body contains the resource representation that indicates a transitional provisioning state.
          schema:
            $ref: "#/definitions/IoTSpacesDescription"
        "202":
          description: Accepted - Put request accepted; the operation will complete asynchronously.
        default:
          description: DefaultErrorResponse
          schema:
            $ref: "#/definitions/ErrorDetails"
      tags:
        - Resource
      x-ms-examples:
        Put an IoT spaces service:
          parameters:
            api-version: 2017-10-01-preview
            iotSpaceDescription:
              location: string
              properties:
                storageContainer:
                  connectionString: string
                  containerName: string
                  resourceGroup: string
                  subscriptionId: string
              sku:
                name: F1
            resourceGroupName: resRg
            resourceName: myIoTSpacesService
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resRg/providers/Microsoft.IoTSpaces/IoTSpacesService/myIoTSpacesService
                location: westus
                name: myIoTSpacesService
                properties:
                  managementApiUrl: myIoTSpacesService-management.AzureIoTSpaces.net
                  provisioningState: Provisioning
                  storageContainer:
                    containerName: myStorageContainer
                    resourceGroup: resReg
                    subscriptionId: 00000000-0000-0000-0000-000000000000
                  webPortalUrl: myIoTSpacesService-webportal.AzureIoTSpaces.net
                sku:
                  name: F1
                type: Microsoft.IoTSpaces/IoTSpacesService
              headers: {}
            "202": {}
      x-ms-long-running-operation: true
definitions:
  ErrorDetails:
    description: Error details.
    properties:
      code:
        description: The error code.
        readOnly: true
        type: string
      message:
        description: The error message.
        readOnly: true
        type: string
      target:
        description: The target of the particular error.
        readOnly: true
        type: string
    type: object
  IoTSpacesDescription:
    allOf:
      - $ref: "#/definitions/Resource"
    description: The description of the IoTSpaces service.
    properties:
      properties:
        $ref: "#/definitions/IoTSpacesProperties"
        description: The common properties of a IoTSpaces service.
      sku:
        $ref: "#/definitions/IoTSpacesSkuInfo"
        description: A valid instance SKU.
    required:
      - sku
    type: object
  IoTSpacesDescriptionListResult:
    description: A list of IoTSpaces description objects with a next link.
    properties:
      nextLink:
        description: The link used to get the next page of IoTSpaces description objects.
        type: string
      value:
        description: A list of IoTSpaces description objects.
        items:
          $ref: "#/definitions/IoTSpacesDescription"
        type: array
    type: object
  IoTSpacesNameAvailabilityInfo:
    description: The properties indicating whether a given IoTSpaces service name is available.
    properties:
      message:
        description: The detailed reason message.
        type: string
      nameAvailable:
        description: The value which indicates whether the provided name is available.
        readOnly: true
        type: boolean
      reason:
        description: The reason for unavailability.
        enum:
          - Invalid
          - AlreadyExists
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: false
          name: IoTSpacesNameUnavailabilityReason
    type: object
  IoTSpacesPatchDescription:
    description: The description of the IoTSpaces service.
    properties:
      properties:
        $ref: "#/definitions/IoTSpacesProperties"
        description: The common properties of an IoTSpaces service.
      tags:
        additionalProperties:
          type: string
        description: Instance tags
        type: object
    type: object
  IoTSpacesProperties:
    description: The properties of an IoTSpaces instance.
    properties:
      managementApiUrl:
        description: The management Api endpoint.
        readOnly: true
        type: string
      provisioningState:
        description: The provisioning state.
        enum:
          - Provisioning
          - Deleting
          - Succeeded
          - Failed
          - Canceled
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: provisioningState
      storageContainer:
        $ref: "#/definitions/StorageContainerProperties"
        description: The properties of the designated storage container.
      webPortalUrl:
        description: The management UI endpoint.
        readOnly: true
        type: string
    type: object
  IoTSpacesSkuInfo:
    description: Information about the SKU of the IoTSpaces instance.
    properties:
      name:
        description: The name of the SKU.
        enum:
          - F1
          - S1
          - S2
          - S3
        type: string
        x-ms-enum:
          modelAsString: true
          name: IoTSpacesSku
    required:
      - name
    type: object
  Operation:
    description: IoTSpaces service REST API operation
    properties:
      display:
        $ref: "#/definitions/OperationDisplay"
      name:
        description: "Operation name: {provider}/{resource}/{read | write | action | delete}"
        readOnly: true
        type: string
    type: object
  OperationDisplay:
    description: The object that represents the operation.
    properties:
      description:
        description: Friendly description for the operation,
        readOnly: true
        type: string
      operation:
        description: Name of the operation
        readOnly: true
        type: string
      provider:
        description: "Service provider: Microsoft IoTSpaces"
        readOnly: true
        type: string
      resource:
        description: "Resource Type: IoTSpaces"
        readOnly: true
        type: string
    type: object
  OperationInputs:
    description: Input values.
    properties:
      name:
        description: The name of the IoTSpaces service instance to check.
        type: string
    required:
      - name
    type: object
  OperationListResult:
    description: A list of IoTSpaces service operations. It contains a list of operations and a URL link to get the next set of results.
    properties:
      nextLink:
        description: The link used to get the next page of IoTSpaces description objects.
        type: string
      value:
        description: A list of IoT spaces operations supported by the Microsoft.IoTSpaces resource provider.
        items:
          $ref: "#/definitions/Operation"
        readOnly: true
        type: array
    type: object
  Resource:
    description: The common properties of an IoTSpaces service.
    properties:
      id:
        description: The resource identifier.
        readOnly: true
        type: string
      location:
        description: The resource location.
        type: string
        x-ms-mutability:
          - create
          - read
      name:
        description: The resource name.
        pattern: ^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$
        readOnly: true
        type: string
      tags:
        additionalProperties:
          type: string
        description: The resource tags.
        type: object
      type:
        description: The resource type.
        readOnly: true
        type: string
    required:
      - location
    x-ms-azure-resource: true
  StorageContainerProperties:
    description: The properties of the Azure Storage Container for file archive.
    properties:
      connectionString:
        description: The connection string of the storage account.
        type: string
      containerName:
        description: The name of storage container in the storage account.
        type: string
      resourceGroup:
        description: The name of the resource group of the storage account.
        type: string
      subscriptionId:
        description: The subscription identifier of the storage account.
        type: string
    type: object
