swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Client to manage your Power BI Embedded workspace collections and retrieve workspaces.
  title: Power BI Embedded Management Client
  version: 2016-01-29
  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/powerbiembedded/resource-manager/Microsoft.PowerBI/stable/2016-01-29/powerbiembedded.json
      version: "2.0"
  x-providerName: azure.com
  x-serviceName: powerbiembedded
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
parameters:
  ApiVersionParameter:
    description: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    description: Gets subscription credentials which uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.PowerBI/operations:
    get:
      description: Indicates which operations can be performed by the Power BI Resource Provider.
      operationId: getAvailableOperations
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Request completed successfully
          schema:
            $ref: "#/definitions/OperationList"
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - Operations
  "/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/locations/{location}/checkNameAvailability":
    post:
      description: Verify the specified Power BI Workspace Collection name is valid and not already in use.
      operationId: WorkspaceCollections_checkNameAvailability
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Azure location
          in: path
          name: location
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Check name availability request
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/CheckNameRequest"
      responses:
        "200":
          description: Request completed successfully
          schema:
            $ref: "#/definitions/CheckNameResponse"
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - WorkspaceCollections
  "/subscriptions/{subscriptionId}/providers/Microsoft.PowerBI/workspaceCollections":
    get:
      description: Retrieves all existing Power BI workspace collections in the specified subscription.
      operationId: WorkspaceCollections_listBySubscription
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Get workspaces response
          schema:
            $ref: "#/definitions/WorkspaceCollectionList"
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - WorkspaceCollections
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/moveResources":
    post:
      description: Migrates an existing Power BI Workspace Collection to a different resource group and/or subscription.
      operationId: WorkspaceCollections_migrate
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Azure resource group
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Workspace migration request
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/MigrateWorkspaceCollectionRequest"
      responses:
        "200":
          description: Migration completed successfully
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - WorkspaceCollections
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections":
    get:
      description: Retrieves all existing Power BI workspace collections in the specified resource group.
      operationId: WorkspaceCollections_listByResourceGroup
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Azure resource group
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Get workspaces response
          schema:
            $ref: "#/definitions/WorkspaceCollectionList"
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - WorkspaceCollections
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}":
    delete:
      description: Delete a Power BI Workspace Collection.
      operationId: WorkspaceCollections_delete
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Azure resource group
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Power BI Embedded Workspace Collection name
          in: path
          name: workspaceCollectionName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "202":
          description: Workspace collection deleted successfully
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - WorkspaceCollections
      x-ms-long-running-operation: true
    get:
      description: Retrieves an existing Power BI Workspace Collection.
      operationId: WorkspaceCollections_getByName
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Azure resource group
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Power BI Embedded Workspace Collection name
          in: path
          name: workspaceCollectionName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Workspace collection created successfully
          schema:
            $ref: "#/definitions/WorkspaceCollection"
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - WorkspaceCollections
    patch:
      description: Update an existing Power BI Workspace Collection with the specified properties.
      operationId: WorkspaceCollections_update
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Azure resource group
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Power BI Embedded Workspace Collection name
          in: path
          name: workspaceCollectionName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Update workspace collection request
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/UpdateWorkspaceCollectionRequest"
      responses:
        "200":
          description: Workspace collection updated successfully
          schema:
            $ref: "#/definitions/WorkspaceCollection"
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - WorkspaceCollections
    put:
      description: Creates a new Power BI Workspace Collection with the specified properties. A Power BI Workspace Collection contains one or more workspaces, and can be used to provision keys that provide API access to those workspaces.
      operationId: WorkspaceCollections_create
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Azure resource group
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Power BI Embedded Workspace Collection name
          in: path
          name: workspaceCollectionName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Create workspace collection request
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/CreateWorkspaceCollectionRequest"
      responses:
        "200":
          description: Workspace collection created successfully
          schema:
            $ref: "#/definitions/WorkspaceCollection"
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - WorkspaceCollections
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/listKeys":
    post:
      description: Retrieves the primary and secondary access keys for the specified Power BI Workspace Collection.
      operationId: WorkspaceCollections_getAccessKeys
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Azure resource group
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Power BI Embedded Workspace Collection name
          in: path
          name: workspaceCollectionName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Get access keys completed successfully
          schema:
            $ref: "#/definitions/WorkspaceCollectionAccessKeys"
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - WorkspaceCollections
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/regenerateKey":
    post:
      description: Regenerates the primary or secondary access key for the specified Power BI Workspace Collection.
      operationId: WorkspaceCollections_regenerateKey
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Azure resource group
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Power BI Embedded Workspace Collection name
          in: path
          name: workspaceCollectionName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - description: Access key to regenerate
          in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/WorkspaceCollectionAccessKey"
      responses:
        "200":
          description: Get access keys completed successfully
          schema:
            $ref: "#/definitions/WorkspaceCollectionAccessKeys"
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - WorkspaceCollections
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PowerBI/workspaceCollections/{workspaceCollectionName}/workspaces":
    get:
      description: Retrieves all existing Power BI workspaces in the specified workspace collection.
      operationId: Workspaces_List
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - description: Azure resource group
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Power BI Embedded Workspace Collection name
          in: path
          name: workspaceCollectionName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Get workspaces completed successfully
          schema:
            $ref: "#/definitions/WorkspaceList"
        default:
          description: Default Response. It will be deserialized as per the Error definition specified in the schema. Exception will be thrown.
          schema:
            $ref: "#/definitions/Error"
      tags:
        - Workspaces
      x-ms-pageable:
        nextLinkName: null
definitions:
  AzureSku:
    properties:
      name:
        description: SKU name
        enum:
          - S1
        type: string
        x-ms-enum:
          modelAsString: true
          name: AzureSkuName
      tier:
        description: SKU tier
        enum:
          - Standard
        type: string
        x-ms-enum:
          modelAsString: true
          name: AzureSkuTier
    required:
      - name
      - tier
    type: object
  CheckNameRequest:
    properties:
      name:
        description: Workspace collection name
        type: string
      type:
        default: Microsoft.PowerBI/workspaceCollections
        description: Resource type
        type: string
    type: object
  CheckNameResponse:
    properties:
      message:
        description: Message indicating an unavailable name due to a conflict, or a description of the naming rules that are violated.
        type: string
      nameAvailable:
        description: Specifies a Boolean value that indicates whether the specified Power BI Workspace Collection name is available to use.
        type: boolean
      reason:
        description: Reason why the workspace collection name cannot be used.
        enum:
          - Unavailable
          - Invalid
        type: string
        x-ms-enum:
          modelAsString: true
          name: CheckNameReason
    type: object
  CreateWorkspaceCollectionRequest:
    properties:
      location:
        description: Azure location
        type: string
      sku:
        $ref: "#/definitions/AzureSku"
      tags:
        additionalProperties:
          type: string
        type: object
    type: object
  Display:
    properties:
      description:
        description: The localized friendly description for the operation as shown to the user. This description should be thorough, yet concise. It will be used in tool-tips and detailed views.
        type: string
      operation:
        description: The localized friendly name for the operation as shown to the user. This name should be concise (to fit in drop downs), but clear (self-documenting). Use Title Casing and include the entity/resource to which it applies.
        type: string
      origin:
        description: The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is 'user,system'
        type: string
      provider:
        description: The localized friendly form of the resource provider name. This form is also expected to include the publisher/company responsible. Use Title Casing. Begin with "Microsoft" for 1st party services.
        type: string
      resource:
        description: The localized friendly form of the resource type related to this action/operation. This form should match the public documentation for the resource provider. Use Title Casing. For examples, refer to the "name" section.
        type: string
    type: object
  Error:
    properties:
      code:
        type: string
      details:
        items:
          $ref: "#/definitions/ErrorDetail"
        type: array
      message:
        type: string
      target:
        type: string
    type: object
  ErrorDetail:
    properties:
      code:
        type: string
      message:
        type: string
      target:
        type: string
    type: object
  MigrateWorkspaceCollectionRequest:
    properties:
      resources:
        items:
          type: string
        type: array
      targetResourceGroup:
        description: Name of the resource group the Power BI workspace collections will be migrated to.
        type: string
    type: object
  Operation:
    properties:
      display:
        $ref: "#/definitions/Display"
      name:
        description: The name of the operation being performed on this particular object. This name should match the action name that appears in RBAC / the event service.
        type: string
    type: object
  OperationList:
    properties:
      value:
        items:
          $ref: "#/definitions/Operation"
        type: array
    type: object
  UpdateWorkspaceCollectionRequest:
    properties:
      sku:
        $ref: "#/definitions/AzureSku"
      tags:
        additionalProperties:
          type: string
        type: object
    type: object
  Workspace:
    properties:
      id:
        description: Workspace id
        type: string
      name:
        description: Workspace name
        type: string
      properties:
        description: Property bag
        type: object
      type:
        description: Resource type
        type: string
    type: object
  WorkspaceCollection:
    properties:
      id:
        description: Resource id
        type: string
      location:
        description: Azure location
        type: string
      name:
        description: Workspace collection name
        type: string
      properties:
        description: Properties
        type: object
      sku:
        $ref: "#/definitions/AzureSku"
      tags:
        additionalProperties:
          type: string
        type: object
      type:
        description: Resource type
        type: string
    type: object
  WorkspaceCollectionAccessKey:
    properties:
      keyName:
        description: Key name
        enum:
          - key1
          - key2
        type: string
        x-ms-enum:
          modelAsString: false
          name: AccessKeyName
    type: object
  WorkspaceCollectionAccessKeys:
    properties:
      key1:
        description: Access key 1
        type: string
      key2:
        description: Access key 2
        type: string
    type: object
  WorkspaceCollectionList:
    properties:
      value:
        items:
          $ref: "#/definitions/WorkspaceCollection"
        type: array
    type: object
  WorkspaceList:
    properties:
      value:
        items:
          $ref: "#/definitions/Workspace"
        type: array
    type: object
