Power BI · Capability

Power BI REST API — Dashboards

Power BI REST API — Dashboards. 6 operations. Lead operation: Power Bi List Dashboards. Self-contained Naftiko capability covering one Power Bi business surface.

Run with Naftiko Power BiDashboards

What You Can Do

GET
Getdashboards — Power Bi List Dashboards
/v1/dashboards
POST
Createdashboard — Power Bi Create a Dashboard
/v1/dashboards
GET
Getdashboard — Power Bi Get a Dashboard
/v1/dashboards/{dashboardid}
GET
Gettiles — Power Bi Get Dashboard Tiles
/v1/dashboards/{dashboardid}/tiles
GET
Gettile — Power Bi Get a Dashboard Tile
/v1/dashboards/{dashboardid}/tiles/{tileid}
GET
Getdashboardsingroup — Power Bi List Dashboards in a Workspace
/v1/groups/{groupid}/dashboards

MCP Tools

power-bi-list-dashboards

Power Bi List Dashboards

read-only idempotent
power-bi-create-dashboard

Power Bi Create a Dashboard

power-bi-get-dashboard

Power Bi Get a Dashboard

read-only idempotent
power-bi-get-dashboard-tiles

Power Bi Get Dashboard Tiles

read-only idempotent
power-bi-get-dashboard-tile

Power Bi Get a Dashboard Tile

read-only idempotent
power-bi-list-dashboards-workspace

Power Bi List Dashboards in a Workspace

read-only idempotent

Capability Spec

rest-dashboards.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Power BI REST API — Dashboards
  description: 'Power BI REST API — Dashboards. 6 operations. Lead operation: Power Bi List Dashboards. Self-contained Naftiko
    capability covering one Power Bi business surface.'
  tags:
  - Power Bi
  - Dashboards
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    POWER_BI_API_KEY: POWER_BI_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-dashboards
    baseUri: https://api.powerbi.com/v1.0/myorg
    description: Power BI REST API — Dashboards business capability. Self-contained, no shared references.
    resources:
    - name: dashboards
      path: /dashboards
      operations:
      - name: getdashboards
        method: GET
        description: Power Bi List Dashboards
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createdashboard
        method: POST
        description: Power Bi Create a Dashboard
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: dashboards-dashboardId
      path: /dashboards/{dashboardId}
      operations:
      - name: getdashboard
        method: GET
        description: Power Bi Get a Dashboard
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: dashboards-dashboardId-tiles
      path: /dashboards/{dashboardId}/tiles
      operations:
      - name: gettiles
        method: GET
        description: Power Bi Get Dashboard Tiles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: dashboards-dashboardId-tiles-tileId
      path: /dashboards/{dashboardId}/tiles/{tileId}
      operations:
      - name: gettile
        method: GET
        description: Power Bi Get a Dashboard Tile
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: groups-groupId-dashboards
      path: /groups/{groupId}/dashboards
      operations:
      - name: getdashboardsingroup
        method: GET
        description: Power Bi List Dashboards in a Workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: bearer
      token: '{{env.POWER_BI_API_KEY}}'
  exposes:
  - type: rest
    namespace: rest-dashboards-rest
    port: 8080
    description: REST adapter for Power BI REST API — Dashboards. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/dashboards
      name: dashboards
      description: REST surface for dashboards.
      operations:
      - method: GET
        name: getdashboards
        description: Power Bi List Dashboards
        call: rest-dashboards.getdashboards
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createdashboard
        description: Power Bi Create a Dashboard
        call: rest-dashboards.createdashboard
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/dashboards/{dashboardid}
      name: dashboards-dashboardid
      description: REST surface for dashboards-dashboardId.
      operations:
      - method: GET
        name: getdashboard
        description: Power Bi Get a Dashboard
        call: rest-dashboards.getdashboard
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/dashboards/{dashboardid}/tiles
      name: dashboards-dashboardid-tiles
      description: REST surface for dashboards-dashboardId-tiles.
      operations:
      - method: GET
        name: gettiles
        description: Power Bi Get Dashboard Tiles
        call: rest-dashboards.gettiles
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/dashboards/{dashboardid}/tiles/{tileid}
      name: dashboards-dashboardid-tiles-tileid
      description: REST surface for dashboards-dashboardId-tiles-tileId.
      operations:
      - method: GET
        name: gettile
        description: Power Bi Get a Dashboard Tile
        call: rest-dashboards.gettile
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/groups/{groupid}/dashboards
      name: groups-groupid-dashboards
      description: REST surface for groups-groupId-dashboards.
      operations:
      - method: GET
        name: getdashboardsingroup
        description: Power Bi List Dashboards in a Workspace
        call: rest-dashboards.getdashboardsingroup
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-dashboards-mcp
    port: 9090
    transport: http
    description: MCP adapter for Power BI REST API — Dashboards. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: power-bi-list-dashboards
      description: Power Bi List Dashboards
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-dashboards.getdashboards
      outputParameters:
      - type: object
        mapping: $.
    - name: power-bi-create-dashboard
      description: Power Bi Create a Dashboard
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-dashboards.createdashboard
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: power-bi-get-dashboard
      description: Power Bi Get a Dashboard
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-dashboards.getdashboard
      outputParameters:
      - type: object
        mapping: $.
    - name: power-bi-get-dashboard-tiles
      description: Power Bi Get Dashboard Tiles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-dashboards.gettiles
      outputParameters:
      - type: object
        mapping: $.
    - name: power-bi-get-dashboard-tile
      description: Power Bi Get a Dashboard Tile
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-dashboards.gettile
      outputParameters:
      - type: object
        mapping: $.
    - name: power-bi-list-dashboards-workspace
      description: Power Bi List Dashboards in a Workspace
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-dashboards.getdashboardsingroup
      outputParameters:
      - type: object
        mapping: $.