# Power BI - REST APIs Metadata

This article outlines the entire metadata coverage available through Power BI REST APIs. It defines the scope of REST API based metadata extraction and sets clear expectations for inventory, governance, and lineage requirements.

## Objective

* Power BI REST APIs support extraction of extensive metadata across tenant, workspace, report, and semantic model layers.
* The purpose is to identify all metadata elements that can be retrieved through REST APIs and confirm REST API based crawling scope.

## Configure Authentication and Access Scope

### Supported Authentication Methods

Power BI REST APIs support the following authentication mechanisms:

* Azure Entra ID (Azure AD) authentication
* User based authentication
* Service Principal authentication (App only)

### Access Dependencies

REST API access is controlled based on the following factors:

| Access Factor         | Description                                               |
| --------------------- | --------------------------------------------------------- |
| Tenant Settings       | Determines whether admin and tenant wide APIs are enabled |
| Workspace Permissions | Controls access to workspace level metadata               |
| Dataset Permissions   | Controls access to dataset and semantic model metadata    |

{% hint style="warning" %}
Metadata visibility depends on the permissions available to the authenticated identity.
{% endhint %}

## Extracting Tenant Level Metadata

### Retrieving Tenant Information Using Admin APIs

If admin permissions are enabled, REST APIs can retrieve the following tenant level metadata:

* Tenant wide workspaces
* Activity events (audit logs)
* Capacity information

### Tenant Level REST APIs

The following APIs support tenant level metadata extraction:

| Metadata Area     | API Endpoint              |
| ----------------- | ------------------------- |
| Tenant Workspaces | GET /admin/groups         |
| Activity Events   | GET /admin/activityevents |

{% hint style="info" %}
Tenant level APIs require admin permissions and must be enabled through tenant settings.
{% endhint %}

## Extracting Workspace (Group) Metadata

### Supported Workspace Metadata

Power BI REST APIs allow extraction of the following workspace metadata:

* Workspace ID and name
* Workspace type (classic or modern)
* Capacity assignment
* Workspace users and roles

### Workspace REST APIs

The following APIs support workspace metadata extraction:

| Metadata Area             | API Endpoint                |
| ------------------------- | --------------------------- |
| Workspace List            | GET /groups                 |
| Workspace Users and Roles | GET /groups/{groupId}/users |

## Extracting Report Metadata

### Supported Report Metadata

For each workspace, REST APIs provide access to the following report metadata:

* Report ID and name
* Web URL
* Dataset (semantic model) binding
* Report type (Power BI or Paginated)
* Ownership and workspace mapping

### Report REST API

The following API supports report metadata extraction:

| Metadata Area        | API Endpoint                 |
| -------------------- | ---------------------------- |
| Reports in Workspace | GET/groups/{groupId}/reports |

## Extracting Report Page (Tab) Metadata

### Supported Page Metadata

Power BI REST APIs support extraction of the following report page details:

* Page name
* Display name
* Page order

### Report Page REST API

The following API supports report page metadata extraction:

<table><thead><tr><th width="321.33331298828125">Metadata Area</th><th>API Endpoint</th></tr></thead><tbody><tr><td>Report Pages</td><td>GET /groups/{groupId}/reports/{reportId}/pages</td></tr></tbody></table>

## Extracting Semantic Model (Dataset) Metadata

Power BI REST APIs provide detailed semantic model metadata.

### Retrieving Dataset Details

REST APIs support extraction of the following dataset metadata:

* Dataset ID and name
* Storage mode (Import, DirectQuery, Composite)
* Default retention policy

Key API: GET /datasets/{datasetId}

### Retrieving Table Metadata

REST APIs support extraction of the following table metadata:

* Table names
* Table visibility

Key API: GET /datasets/{datasetId}/tables

### Retrieving Column Metadata

REST APIs support extraction of the following column metadata:

* Column names
* Data types
* Column visibility

{% hint style="info" %}
Column metadata is available through table metadata.
{% endhint %}

### Retrieving Measure Metadata

REST APIs support extraction of the following measure metadata:

* Measure names
* Measure expressions (DAX)
* Measure visibility

{% hint style="info" %}
Measure metadata is available through enhanced dataset metadata.
{% endhint %}

## Extracting Deployment Pipeline Metadata

### Supported Deployment Pipeline Metadata

For environments using deployment pipelines, REST APIs can retrieve:

* Pipeline details
* Stages (Dev, Test, Prod)
* Workspace to stage mapping
* Deployment operations

### Deployment Pipeline REST APIs

The following APIs support pipeline metadata extraction:

| Metadata Area    | API Endpoint                |
| ---------------- | --------------------------- |
| Pipeline List    | GET /pipelines              |
| Pipeline Details | GET /pipelines/{pipelineId} |

## Build Lineage Using REST APIs

### Lineage Coverage Available Through REST APIs

Using only REST APIs, the following lineage can be constructed:

* Source System → Dataset (Tables, Columns, Measures) → Report → Page

### Supported Lineage Use Cases

REST API lineage is suitable for:

* Metadata inventory
* Governance
* Compliance
* Page level lineage

## Identifying Key REST API Limitations

### Metadata Not Available Through REST APIs

Power BI REST APIs do not provide:

* Visual metadata
* Visual to field mapping
* Visual level filters
* Visual layout and formatting

### Impact of REST API Limitations

Due to missing visual metadata, REST APIs alone cannot support:

* Visual level lineage
* Detailed impact analysis

{% hint style="warning" %}
REST API based extraction must be implemented with PBIX file parsing for visual level insights.
{% endhint %}

## Summary

Power BI REST APIs provide extensive coverage across tenant, workspace, report, page, semantic model, data source, refresh, and security metadata. REST APIs are suitable for inventory creation and page level lineage generation. However, REST APIs do not provide visual level metadata, and PBIX file parsing is required for visual level insights.

***

Copyright © 2026, OvalEdge LLC, Peachtree Corners GA USA
