Microsoft Power BI API Documentation
This is the complete API documentation for connecting to the Microsoft Power BI API using MindCloud's Universal API. If you are new to MindCloud, start with the Introduction to see how one API can sit in front of many different apps.
MindCloud is an integration company that offers one normalized API to access 3,100+ apps from a single place. It cleans up provider-specific quirks, keeps requests and responses consistent, and centralizes authentication so you do not need to manage separate flows for every app. Browse other apps.
Meet Microsoft Power BI: Manage Power BI workspaces, reports, dashboards, datasets, and dataflows. Keep reading to get started.
Quickstart
Before you run your first Microsoft Power BI request, you need three things:
- A MindCloud account — sign in or create an account at MindCloud.
- A MindCloud API Key — create one in API Keys. Keep it on your server.
- At least one Microsoft Power BI connection — create or choose one in Connections. Note its
connectionId.
Every Microsoft Power BI action uses the same URL pattern:
https://connect.mindcloud.co/v1/universal/microsoftPowerBI/latest/actions/{actionSlug}You need a MindCloud API Key and a Microsoft Power BI connection. Then call an action such as Apps GetAppsAsAdmin:
curl --request GET \
--url "https://connect.mindcloud.co/v1/universal/microsoftPowerBI/latest/actions/admin-apps-getapps-as-admin" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--get \
--data-urlencode "connectionId=$CONNECTION_ID"Every response comes back in the same envelope, with your rows in a data array:
{
"success": true,
"data": [
{ "id": "1042", "name": "Ava" }
],
"meta": {}
}After your first request works, use Shape your requests to control arguments, pagination, filtering, fields, and errors.
Authentication
Authentication has two layers. Your MindCloud API Key authenticates the request to MindCloud, sent as a Bearer token in the Authorization header. The connectionId selects the connected Microsoft Power BI account that should run the action. MindCloud stores and refreshes the Microsoft Power BI credentials behind that connection, so you never send provider tokens with your requests.
Pass connectionId in the query string for GET and DELETE actions, and in the JSON body for POST, PUT, and PATCH actions. Keep your MindCloud API Key on your server; do not ship it in browser code, mobile apps, public repositories, or logs.
Microsoft Power BI actions
All 289 published actions for this Microsoft Power BI version. Each page documents the endpoint, arguments, and response controls.
- POSTAdd Dashboard
- POSTAdd Dashboard in Workspace
- POSTAdd Datasource User
- POSTAdd Power BI Encryption Key
- POSTAdd Rows to Push Dataset Table in Workspace
- POSTAdd Workspace User
- GETApps GetAppsAsAdmin
- GETApps GetAppUsersAsAdmin
- POSTAssign Workspace
- POSTBind To Gateway
- POSTBind To Gateway
- POSTBind To Gateway In Group
- POSTBind To Gateway In Group
- POSTCancel Dataflow Transaction
- DELETECancel Refresh
- DELETECancel Refresh In Group
- POSTCapacities AssignWorkspacesToCapacity
- GETCapacities GetCapacityUsersAsAdmin
- POSTCapacities UnassignWorkspacesFromCapacity
- POSTClone Report
- POSTClone Report in Workspace
- POSTClone Tile
- POSTClone Tile In Group
- POSTCreate Datasource
- POSTCreate Install Ticket
- POSTCreate Pipeline
- POSTCreate Profile
- POSTCreate Push Dataset in Workspace
- POSTCreate Temporary Upload Location
- POSTCreate Temporary Upload Location In Group
- POSTCreate Workspace
- POSTDashboards GenerateTokenInGroup
- GETDashboards GetDashboardsAsAdmin
- GETDashboards GetDashboardsInGroupAsAdmin
- GETDashboards GetDashboardSubscriptionsAsAdmin
- GETDashboards GetDashboardUsersAsAdmin
- GETDashboards GetTilesAsAdmin
- GETDataflows ExportDataflowAsAdmin
- GETDataflows GetDataflowDatasourcesAsAdmin
- GETDataflows GetDataflowsAsAdmin
- GETDataflows GetDataflowsInGroupAsAdmin
- GETDataflows GetDataflowUsersAsAdmin
- GETDataflows GetUpstreamDataflowsInGroupAsAdmin
- DELETEDatasets DeleteRows
- POSTDatasets GenerateTokenInGroup
- GETDatasets GetDatasetsAsAdmin
- GETDatasets GetDatasetsInGroupAsAdmin
- GETDatasets GetDatasetToDataflowsLinksInGroupAsAdmin
- GETDatasets GetDatasetUsersAsAdmin
- GETDatasets GetDatasourcesAsAdmin
- GETDatasets GetTables
- GETDatasets GetTablesInGroup
- POSTDatasets PostDataset
- POSTDatasets PostRows
- PUTDatasets PutTable
- PUTDatasets PutTableInGroup
- DELETEDelete
- DELETEDelete By ID
- DELETEDelete By ID
- DELETEDelete By ID
- DELETEDelete By ID
- DELETEDelete Dashboard
- DELETEDelete Dashboard in Workspace
- DELETEDelete Dataflow
- DELETEDelete Dataset
- DELETEDelete Dataset in Workspace
- DELETEDelete Datasource
- DELETEDelete Datasource User
- POSTDelete Goal Current Value Connection
- POSTDelete Goal Target Value Connection
- DELETEDelete Pipeline
- DELETEDelete Pipeline User
- DELETEDelete Profile
- DELETEDelete Report
- DELETEDelete Report in Workspace
- DELETEDelete Rows from Push Dataset Table in Workspace
- DELETEDelete Workspace
- DELETEDelete Workspace User
- POSTDeploy All
- GETDiscover Gateways
- GETDiscover Gateways In Group
- POSTExecute Dax Queries
- POSTExecute Dax Queries In Group
- POSTExecute Queries
- POSTExecute Queries In Group
- GETExport Report
- GETExport Report In Group
- POSTExport To File
- POSTExport To File In Group
- POSTGenerate Token
- GETGet
- GETGet
- GETGet
- GETGet
- GETGet Activity Events
- GETGet Available Feature By Name
- GETGet Available Features
- GETGet By ID
- GETGet By ID
- GETGet By ID
- GETGet Capacities
- GETGet Capacities As Admin
- GETGet Dashboard
- GETGet Dashboard
- GETGet Dashboard in Workspace
- GETGet Dashboard Tile
- GETGet Dashboards
- GETGet Dataflow
- GETGet Dataflow Data Sources
- GETGet Dataflow Storage Accounts
- GETGet Dataflow Transactions
- GETGet Dataset
- GETGet Dataset in Workspace
- GETGet Dataset To Dataflows Links In Group
- GETGet Dataset Users
- GETGet Dataset Users In Group
- GETGet Datasets
- GETGet Datasource
- GETGet Datasource Status
- GETGet Datasource Users
- GETGet Datasources
- GETGet Datasources
- GETGet Datasources
- GETGet Datasources In Group
- GETGet Direct Query Refresh Schedule
- GETGet Direct Query Refresh Schedule In Group
- GETGet Export To File Status
- GETGet Export To File Status In Group
- GETGet File Of Export To File
- GETGet File Of Export To File In Group
- GETGet Gateway
- GETGet Gateway Datasources
- GETGet Gateway Datasources In Group
- GETGet Gateways
- GETGet Import
- GETGet Import in Workspace
- GETGet Imports
- GETGet Installed App
- GETGet Page
- GETGet Pages
- GETGet Parameters
- GETGet Parameters In Group
- GETGet Pipeline
- GETGet Pipeline Operation
- GETGet Pipeline Operations
- GETGet Pipeline Stage Artifacts
- GETGet Pipeline Stages
- GETGet Pipeline Users
- GETGet Pipelines
- GETGet Power BI Encryption Keys
- GETGet Profile
- GETGet Profiles
- GETGet Query Scale Out Sync Status
- GETGet Query Scale Out Sync Status In Group
- GETGet Refresh Execution Details
- GETGet Refresh Execution Details In Group
- GETGet Refresh History
- GETGet Refresh History
- GETGet Refresh Schedule
- GETGet Refresh Schedule In Group
- GETGet Refreshable For Capacity
- GETGet Refreshable For Capacity
- GETGet Refreshables
- GETGet Refreshables
- GETGet Refreshables For Capacity
- GETGet Refreshables For Capacity
- GETGet Report
- GETGet Report in Installed App
- GETGet Report in Workspace
- GETGet Report Page
- GETGet Reports
- GETGet Scorecard By Report Id
- GETGet Tile
- GETGet Tile
- GETGet Tiles
- GETGet Tiles
- GETGet Upstream Dataflows In Group
- GETGet Workload
- GETGet Workloads
- GETGet Workspace
- POSTGroups AddUserAsAdmin
- POSTGroups AssignMyWorkspaceToCapacity
- POSTGroups AssignToCapacity
- POSTGroups AssignToDataflowStorage
- GETGroups CapacityAssignmentStatus
- GETGroups CapacityAssignmentStatusMyWorkspace
- DELETEGroups DeleteUserAsAdmin
- GETGroups GetGroupAsAdmin
- GETGroups GetGroupsAsAdmin
- GETGroups GetGroupUsersAsAdmin
- GETGroups GetUnusedArtifactsAsAdmin
- POSTGroups RestoreDeletedGroupAsAdmin
- PUTGroups UpdateGroupAsAdmin
- POSTImport Excel Workbook in Workspace
- GETImports GetImportsAsAdmin
- POSTInformationProtection RemoveLabelsAsAdmin
- POSTInformationProtection SetLabelsAsAdmin
- GETList Dashboard Tiles
- GETList Dashboards in Installed App
- GETList Dashboards in Workspace
- GETList Dataflows in Workspace
- GETList Dataset Datasources
- GETList Dataset Refresh History in Workspace
- GETList Datasets in Workspace
- GETList Imports in Workspace
- GETList Installed Apps
- GETList Report Pages
- GETList Reports in Installed App
- GETList Reports in Workspace
- GETList Workspace Users
- GETList Workspaces
- POSTMove Goals
- PUTPatch By ID
- PUTPatch By ID
- PUTPatch By ID
- PUTPatch By ID
- PUTPatch Capacity As Admin
- PUTPatch Workload
- DELETEPipelines DeleteUserAsAdmin
- GETPipelines GetPipelinesAsAdmin
- GETPipelines GetPipelineUsersAsAdmin
- POSTPipelines UpdateUserAsAdmin
- POSTPost
- POSTPost
- POSTPost
- POSTPost
- POSTPost
- POSTPost Dataset User
- POSTPost Dataset User In Group
- POSTPost Import
- DELETEProfiles DeleteProfileAsAdmin
- GETProfiles GetProfilesAsAdmin
- PUTPut Dataset User
- PUTPut Dataset User In Group
- POSTRebind Report
- PUTRebind Report in Workspace
- POSTRefresh Dataflow
- POSTRefresh Dataset
- POSTRefresh Dataset in Workspace
- POSTRefresh Goal Current Value
- POSTRefresh Goal Target Value
- POSTRefresh User Permissions
- POSTReports GenerateTokenForCreateInGroup
- POSTReports GenerateTokenInGroup
- GETReports GetReportsAsAdmin
- GETReports GetReportsInGroupAsAdmin
- GETReports GetReportSubscriptionsAsAdmin
- GETReports GetReportUsersAsAdmin
- POSTRotate Power BI Encryption Key
- POSTSave Dataflow Gen One As Dataflow Gen Two
- POSTSelective Deploy
- POSTSet All Dataset Connections
- POSTSet All Dataset Connections In Group
- POSTTake Over In Group
- POSTTake Over In Group
- POSTTiles GenerateTokenInGroup
- POSTTrigger Query Scale Out Sync
- POSTTrigger Query Scale Out Sync In Group
- POSTUnassign Workspace
- PUTUpdate Dataflow
- PUTUpdate Dataset
- PUTUpdate Dataset In Group
- PUTUpdate Datasource
- POSTUpdate Datasources
- POSTUpdate Datasources
- POSTUpdate Datasources In Group
- POSTUpdate Datasources In Group
- PUTUpdate Direct Query Refresh Schedule
- PUTUpdate Direct Query Refresh Schedule In Group
- POSTUpdate Parameters
- POSTUpdate Parameters In Group
- PUTUpdate Pipeline
- POSTUpdate Pipeline User
- PUTUpdate Profile
- PUTUpdate Refresh Schedule
- PUTUpdate Refresh Schedule
- PUTUpdate Refresh Schedule In Group
- POSTUpdate Report Content
- POSTUpdate Report Content In Group
- PUTUpdate Workspace
- PUTUpdate Workspace User
- GETUsers GetUserArtifactAccessAsAdmin
- GETUsers GetUserSubscriptionsAsAdmin
- GETWidelySharedArtifacts LinksSharedToWholeOrganization
- GETWidelySharedArtifacts PublishedToWeb
- GETWorkspaceInfo GetModifiedWorkspaces
- GETWorkspaceInfo GetScanResult
- GETWorkspaceInfo GetScanStatus
- POSTWorkspaceInfo PostWorkspaceInfo
Related apps
More Business Intelligence apps on the Universal API, behind the same REST shape. Or browse all apps.