swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: Allows creation and deletion of Azure Shared Dashboards.
  title: portal
  version: 2015-08-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:
    name: PortalClient
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/portal/resource-manager/Microsoft.Portal/preview/2015-08-01-preview/portal.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: portal
  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:
  ApiVersionParameter:
    description: The API version to be used with the HTTP request.
    in: query
    name: api-version
    required: true
    type: string
  DashboardNameParameter:
    description: The name of the dashboard.
    in: path
    maxLength: 64
    minLength: 3
    name: dashboardName
    required: true
    type: string
    x-ms-parameter-location: method
  ResourceGroupNameParameter:
    description: The name of the resource group.
    in: path
    name: resourceGroupName
    required: true
    type: string
    x-ms-parameter-location: method
  SubscriptionIdParameter:
    description: The Azure subscription ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000)
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  /providers/Microsoft.Portal/operations:
    get:
      description: The Microsoft Portal operations API.
      operationId: Operations_List
      parameters:
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: Describe the result of a successful operation.
          schema:
            $ref: "#/definitions/ResourceProviderOperationList"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Operations
      x-ms-examples:
        List the portal operations:
          parameters:
            api-version: 2015-08-01-preview
          responses:
            "200":
              body:
                value:
                  - display:
                      description: Reads the dashboards for the subscription.
                      operation: Get Dashboard
                      provider: Microsoft Portal
                      resource: Dashboards
                    isDataAction: "false"
                    name: Microsoft.Portal/dashboards/read
                  - display:
                      description: Add or modify dashboard to a subscription.
                      operation: Set Dashboard
                      provider: Microsoft Portal
                      resource: Dashboards
                    isDataAction: "false"
                    name: Microsoft.Portal/dashboards/write
                  - display:
                      description: Removes the dashboard from the subscription.
                      operation: Delete Dashboard
                      provider: Microsoft Portal
                      resource: Dashboards
                    isDataAction: "false"
                    name: Microsoft.Portal/dashboards/delete
                  - display:
                      description: Registers the subscription for the portal resource provider and enables shared dashboards.
                      operation: Registers the Portal Resource Provider
                      provider: Microsoft Portal
                      resource: Portal Resource Provider
                    isDataAction: "false"
                    name: Microsoft.Portal/register/action
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/providers/Microsoft.Portal/dashboards":
    get:
      description: Gets all the dashboards within a subscription.
      operationId: Dashboards_ListBySubscription
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns an array of dashboards.
          schema:
            $ref: "#/definitions/DashboardListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Dashboard
      x-ms-examples:
        List all custom resource providers on the subscription:
          parameters:
            api-version: 2015-08-01-preview
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard
                    location: eastus
                    name: testDashboard
                    properties:
                      lenses:
                        aLens:
                          order: 1
                          parts:
                            aPart:
                              position:
                                colSpan: 3
                                rowSpan: 4
                                x: 1
                                y: 2
                            bPart:
                              position:
                                colSpan: 6
                                rowSpan: 6
                                x: 5
                                y: 5
                        bLens:
                          order: 2
                          parts: {}
                      metadata:
                        metadata:
                          ColSpan: 2
                          RowSpan: 1
                          X: 4
                          Y: 3
                    tags:
                      aKey: aValue
                      anotherKey: anotherValue
                    type: Microsoft.Portal/dashboards
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard2
                    location: eastus
                    name: testDashboard2
                    properties:
                      lenses:
                        aLens:
                          order: 1
                          parts:
                            aPart:
                              position:
                                colSpan: 3
                                rowSpan: 4
                                x: 1
                                y: 2
                            bPart:
                              position:
                                colSpan: 6
                                rowSpan: 6
                                x: 5
                                y: 5
                        bLens:
                          order: 2
                          parts: {}
                      metadata:
                        metadata:
                          ColSpan: 2
                          RowSpan: 1
                          X: 4
                          Y: 3
                    tags:
                      aKey: aValue
                      anotherKey: anotherValue
                    type: Microsoft.Portal/dashboards
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards":
    get:
      description: Gets all the Dashboards within a resource group.
      operationId: Dashboards_ListByResourceGroup
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK - Returns an array of Dashboards.
          schema:
            $ref: "#/definitions/DashboardListResult"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Dashboard
      x-ms-examples:
        List all custom resource providers on the resourceGroup:
          parameters:
            api-version: 2015-08-01-preview
            resourceGroupName: testRG
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard
                    location: eastus
                    name: testDashboard
                    properties:
                      lenses:
                        aLens:
                          order: 1
                          parts:
                            aPart:
                              position:
                                colSpan: 3
                                rowSpan: 4
                                x: 1
                                y: 2
                            bPart:
                              position:
                                colSpan: 6
                                rowSpan: 6
                                x: 5
                                y: 5
                        bLens:
                          order: 2
                          parts: {}
                      metadata:
                        metadata:
                          ColSpan: 2
                          RowSpan: 1
                          X: 4
                          Y: 3
                    tags:
                      aKey: aValue
                      anotherKey: anotherValue
                    type: Microsoft.Portal/dashboards
                  - id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard2
                    location: eastus
                    name: testDashboard2
                    properties:
                      lenses:
                        aLens:
                          order: 1
                          parts:
                            aPart:
                              position:
                                colSpan: 3
                                rowSpan: 4
                                x: 1
                                y: 2
                            bPart:
                              position:
                                colSpan: 6
                                rowSpan: 6
                                x: 5
                                y: 5
                        bLens:
                          order: 2
                          parts: {}
                      metadata:
                        metadata:
                          ColSpan: 2
                          RowSpan: 1
                          X: 4
                          Y: 3
                    tags:
                      aKey: aValue
                      anotherKey: anotherValue
                    type: Microsoft.Portal/dashboards
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Portal/dashboards/{dashboardName}":
    delete:
      description: Deletes the Dashboard.
      operationId: Dashboards_Delete
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/DashboardNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK response definition.
        "204":
          description: OK resource was not found.
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Dashboard
      x-ms-examples:
        Delete a Dashboard:
          parameters:
            api-version: 2015-08-01-preview
            dashboardName: testDashboard
            resourceGroupName: testRG
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200": {}
            "204": {}
    get:
      description: Gets the Dashboard.
      operationId: Dashboards_Get
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/DashboardNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
      responses:
        "200":
          description: OK response definition.
          schema:
            $ref: "#/definitions/Dashboard"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Dashboard
      x-ms-examples:
        Get a Dashboard:
          parameters:
            api-version: 2015-08-01-preview
            dashboardName: testDashboard
            resourceGroupName: testRG
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard
                location: eastus
                name: testDashboard
                properties:
                  lenses:
                    aLens:
                      order: 1
                      parts:
                        aPart:
                          position:
                            colSpan: 3
                            rowSpan: 4
                            x: 1
                            y: 2
                        bPart:
                          position:
                            colSpan: 6
                            rowSpan: 6
                            x: 5
                            y: 5
                    bLens:
                      order: 2
                      parts: {}
                  metadata:
                    metadata:
                      ColSpan: 2
                      RowSpan: 1
                      X: 4
                      Y: 3
                tags:
                  aKey: aValue
                  anotherKey: anotherValue
                type: Microsoft.Portal/dashboards
    patch:
      description: Updates an existing Dashboard.
      operationId: Dashboards_Update
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/DashboardNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - description: The updatable fields of a Dashboard.
          in: body
          name: dashboard
          required: true
          schema:
            $ref: "#/definitions/PatchableDashboard"
      responses:
        "200":
          description: OK response definition.
          schema:
            $ref: "#/definitions/Dashboard"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Dashboard
      x-ms-examples:
        Update a Dashboard:
          parameters:
            api-version: 2015-08-01-preview
            dashboard:
              tags:
                aKey: bValue
                anotherKey: anotherValue2
            dashboardName: testDashboard
            resourceGroupName: testRG
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard
                location: eastus
                name: testDashboard
                properties:
                  lenses:
                    aLens:
                      order: 1
                      parts:
                        aPart:
                          position:
                            colSpan: 3
                            rowSpan: 4
                            x: 1
                            y: 2
                        bPart:
                          position:
                            colSpan: 6
                            rowSpan: 6
                            x: 5
                            y: 5
                    bLens:
                      order: 2
                      parts: {}
                  metadata:
                    metadata:
                      ColSpan: 2
                      RowSpan: 1
                      X: 4
                      Y: 3
                tags:
                  aKey: bValue
                  anotherKey: anotherValue2
                type: Microsoft.Portal/dashboards
    put:
      description: Creates or updates a Dashboard.
      operationId: Dashboards_CreateOrUpdate
      parameters:
        - $ref: "#/parameters/SubscriptionIdParameter"
        - $ref: "#/parameters/ResourceGroupNameParameter"
        - $ref: "#/parameters/DashboardNameParameter"
        - $ref: "#/parameters/ApiVersionParameter"
        - description: The parameters required to create or update a dashboard.
          in: body
          name: dashboard
          required: true
          schema:
            $ref: "#/definitions/Dashboard"
      responses:
        "200":
          description: Resource already exists.
          schema:
            $ref: "#/definitions/Dashboard"
        "201":
          description: Created response definition. Resource has been created
          schema:
            $ref: "#/definitions/Dashboard"
        default:
          description: Error response describing why the operation failed.
          schema:
            $ref: "#/definitions/ErrorResponse"
      tags:
        - Dashboard
      x-ms-examples:
        Create or update a Dashboard:
          parameters:
            api-version: 2015-08-01-preview
            dashboard:
              location: eastus
              properties:
                lenses:
                  aLens:
                    order: 1
                    parts:
                      aPart:
                        position:
                          colSpan: 3
                          rowSpan: 4
                          x: 1
                          y: 2
                      bPart:
                        position:
                          colSpan: 6
                          rowSpan: 6
                          x: 5
                          y: 5
                  bLens:
                    order: 2
                    parts: {}
                metadata:
                  metadata:
                    ColSpan: 2
                    RowSpan: 1
                    X: 4
                    Y: 3
              tags:
                aKey: aValue
                anotherKey: anotherValue
            dashboardName: testDashboard
            resourceGroupName: testRG
            subscriptionId: 00000000-0000-0000-0000-000000000000
          responses:
            "200":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard
                location: eastus
                name: testDashboard
                properties:
                  lenses:
                    aLens:
                      order: 1
                      parts:
                        aPart:
                          position:
                            colSpan: 3
                            rowSpan: 4
                            x: 1
                            y: 2
                        bPart:
                          position:
                            colSpan: 6
                            rowSpan: 6
                            x: 5
                            y: 5
                    bLens:
                      order: 2
                      parts: {}
                  metadata:
                    metadata:
                      ColSpan: 2
                      RowSpan: 1
                      X: 4
                      Y: 3
                tags:
                  aKey: aValue
                  anotherKey: anotherValue
                type: Microsoft.Portal/dashboards
            "201":
              body:
                id: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testRG/providers/Microsoft.Portal/dashboards/testDashboard
                location: eastus
                name: testDashboard
                properties:
                  lenses:
                    aLens:
                      order: 1
                      parts:
                        aPart:
                          position:
                            colSpan: 3
                            rowSpan: 4
                            x: 1
                            y: 2
                        bPart:
                          position:
                            colSpan: 6
                            rowSpan: 6
                            x: 5
                            y: 5
                    bLens:
                      order: 2
                      parts: {}
                  metadata:
                    metadata:
                      ColSpan: 2
                      RowSpan: 1
                      X: 4
                      Y: 3
                tags:
                  aKey: aValue
                  anotherKey: anotherValue
                type: Microsoft.Portal/dashboards
definitions:
  Dashboard:
    description: The shared dashboard resource definition.
    properties:
      id:
        description: Resource Id
        readOnly: true
        type: string
      location:
        description: Resource location
        type: string
        x-ms-mutability:
          - read
          - create
      name:
        description: Resource name
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/DashboardProperties"
        description: The shared dashboard properties.
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Resource tags
        type: object
      type:
        description: Resource type
        readOnly: true
        type: string
    required:
      - location
    type: object
    x-ms-azure-resource: true
    x-ms-client-flatten: true
  DashboardLens:
    description: A dashboard lens.
    properties:
      metadata:
        additionalProperties:
          type: object
        description: The dashboard len's metadata.
        type: object
      order:
        description: The lens order.
        type: integer
      parts:
        additionalProperties:
          $ref: "#/definitions/DashboardParts"
        description: The dashboard parts.
        type: object
    required:
      - order
      - parts
    type: object
  DashboardListResult:
    description: List of dashboards.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        type: string
      value:
        description: The array of custom resource provider manifests.
        items:
          $ref: "#/definitions/Dashboard"
        type: array
    type: object
  DashboardParts:
    description: A dashboard part.
    properties:
      metadata:
        additionalProperties:
          type: object
        description: The dashboard part's metadata.
        type: object
      position:
        description: The dashboard's part position.
        properties:
          colSpan:
            description: The dashboard's part column span.
            type: number
          metadata:
            additionalProperties:
              type: object
            description: The dashboard part's metadata.
            type: object
          rowSpan:
            description: The dashboard's part row span.
            type: number
          x:
            description: The dashboard's part x coordinate.
            type: number
          y:
            description: The dashboard's part y coordinate.
            type: number
        required:
          - x
          - y
          - rowSpan
          - colSpan
        type: object
    required:
      - position
    type: object
  DashboardProperties:
    description: The shared dashboard properties.
    properties:
      lenses:
        additionalProperties:
          $ref: "#/definitions/DashboardLens"
        description: The dashboard lenses.
        type: object
      metadata:
        additionalProperties:
          type: object
        description: The dashboard metadata.
        type: object
    type: object
  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
    type: object
  ErrorResponse:
    description: Error response.
    properties:
      error:
        $ref: "#/definitions/ErrorDefinition"
        description: The error details.
    type: object
  PatchableDashboard:
    description: The shared dashboard resource definition.
    properties:
      properties:
        $ref: "#/definitions/DashboardProperties"
        description: The shared dashboard properties.
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Resource tags
        type: object
    type: object
    x-ms-azure-resource: true
    x-ms-client-flatten: true
  ResourceProviderOperation:
    description: Supported operations of this resource provider.
    properties:
      display:
        description: Display metadata associated with the operation.
        properties:
          description:
            description: Description of this operation.
            type: string
          operation:
            description: "Type of operation: get, read, delete, etc."
            type: string
          provider:
            description: "Resource provider: Microsoft Custom Providers."
            type: string
          resource:
            description: Resource on which the operation is performed.
            type: string
      isDataAction:
        description: Indicates whether the operation applies to data-plane.
        type: string
      name:
        description: Operation name, in format of {provider}/{resource}/{operation}
        type: string
    readOnly: true
    type: object
  ResourceProviderOperationList:
    description: Results of the request to list operations.
    properties:
      nextLink:
        description: The URL to use for getting the next set of results.
        type: string
      value:
        description: List of operations supported by this resource provider.
        items:
          $ref: "#/definitions/ResourceProviderOperation"
        type: array
    readOnly: true
    type: object
