report
Manage reports (Power BI)
Authentication scope: fabric
List reports in a workspace
fabio report list --workspace <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
Read-only · Returns list
Show details of a report
fabio report show --workspace <value> --id <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
Read-only · Returns object
create
Section titled “create”Create a new report from a definition file
fabio report create --workspace <value> --name <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--name |
string |
Yes | Report display name |
--description |
string |
No | Optional description |
--file |
string |
No | Path to report definition file (definition.pbir JSON) |
--definition |
string |
No | Path to a full PBIR report folder (a .Report folder or any folder containing definition.pbir). All files are gathered recursively and sent as the report definition (PBIR enhanced or PBIR-Legacy) |
--dataset |
string |
No | Dataset/semantic model ID to bind report to (auto-generates definition.pbir). With –definition, rebinds the folder’s definition.pbir to this model by connection |
--sensitivity-label |
string |
No | Sensitivity label ID to apply on creation |
Examples
fabio report create --workspace $WS --name "Sales Dashboard" --dataset $SMMutates state · Long-running operation · Returns object
update
Section titled “update”Update report properties (name and/or description)
fabio report update --workspace <value> --id <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--name |
string |
No | New display name |
--description |
string |
No | New description |
Mutates state · Returns object
delete
Section titled “delete”Delete a report
fabio report delete --workspace <value> --id <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--hard-delete |
bool |
No | Permanently delete (cannot be recovered) |
Mutates state · Destructive · Returns void
get-definition
Section titled “get-definition”Get the definition of a report
fabio report get-definition --workspace <value> --id <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--decode |
bool |
No | Decode base64 payloads inline (adds decodedPayload field) |
Read-only · Long-running operation · Returns object
update-definition
Section titled “update-definition”Update the definition of a report
fabio report update-definition --workspace <value> --id <value> --file <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--file |
string |
Yes | Path to definition.pbir file (semantic model binding — always required) |
--report-json |
string |
No | Path to report.json file (visual definitions for PBIR-Legacy format) |
Examples
fabio report update-definition --workspace $WS --id $RPT --file definition.pbir --report-json report.jsonMutates state · Long-running operation · Returns void
validate
Section titled “validate”Validate a Power BI report definition on disk (PBIR or PBIR-Legacy)
fabio report validate --source <value>| Flag | Type | Required | Description |
|---|---|---|---|
--source |
string |
Yes | Path to a report folder, a definition.pbir file, or a PBIP root |
Read-only · Returns object
copilot-metadata
Section titled “copilot-metadata”Get the synthesized report schema (pages, visuals, field→role bindings, textboxes) from the remote Power BI MCP server — read-only
fabio report copilot-metadata --workspace <value> --id <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
Read-only · Returns object
list-pages
Section titled “list-pages”List the pages of a report (name, display name, visual count) — read-only
fabio report list-pages --workspace <value> --id <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
Read-only · Returns list
list-visuals
Section titled “list-visuals”List the visuals of a report (page, name, type, title) — read-only
fabio report list-visuals --workspace <value> --id <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--page |
string |
No | Only list visuals of this page (by page name) |
Read-only · Returns list
add-page
Section titled “add-page”Add a page to a PBIR report by editing its definition. Overwrites the definition (irreversible) — dry-run guarded
fabio report add-page --workspace <value> --id <value> --display-name <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--display-name |
string |
Yes | Page display name (the tab label) |
--name |
string |
No | Internal page name (default: a generated 20-hex id) |
--active |
bool |
No | Make this the active (default) page |
Mutates state · Destructive · Returns object
delete-page
Section titled “delete-page”Delete a page from a PBIR report by editing its definition (a report must keep at least one page). Overwrites the definition (irreversible) — dry-run guarded
fabio report delete-page --workspace <value> --id <value> --name <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--name |
string |
Yes | Page name to delete |
Mutates state · Destructive · Returns void
rename-page
Section titled “rename-page”Rename a page’s display name in a PBIR report. Overwrites the definition (irreversible) — dry-run guarded
fabio report rename-page --workspace <value> --id <value> --name <value> --display-name <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--name |
string |
Yes | Page name to rename |
--display-name |
string |
Yes | New display name |
Mutates state · Destructive · Returns object
set-active-page
Section titled “set-active-page”Set the active (default) page of a PBIR report. Overwrites the definition (irreversible) — dry-run guarded
fabio report set-active-page --workspace <value> --id <value> --name <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--name |
string |
Yes | Page name to make active |
Mutates state · Destructive · Returns object
get-settings
Section titled “get-settings”Show the report-level settings (report.json ExplorationSettings) of a PBIR report — read-only
fabio report get-settings --workspace <value> --id <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
Read-only · Returns object
set-setting
Section titled “set-setting”Set a report-level setting (report.json ExplorationSettings) of a PBIR report by editing its definition, e.g. hideVisualContainerHeader, filterPaneHiddenInEditMode, allowInlineExploration, isPersistentUserStateDisabled, useCrossReportDrillthrough. Overwrites the definition (irreversible) — dry-run guarded
fabio report set-setting --workspace <value> --id <value> --name <value> --value <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--name |
string |
Yes | Setting name (a report.json ExplorationSettings key). Unknown names are rejected with the valid names enumerated |
--value |
string |
Yes | Setting value: true/false for boolean settings, or a string for string settings |
Mutates state · Returns object
add-visual
Section titled “add-visual”Add a visual to a page of a PBIR report by editing its definition. Build a data-bound visual with –category/–measure (fields as Table.Column or Sum(Table.Column)) or a textbox with –text. Overwrites the definition (irreversible) — dry-run guarded
fabio report add-visual --workspace <value> --id <value> --page <value> --type <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--page |
string |
Yes | Page name to add the visual to |
--type |
string |
Yes | Visual type: card, clusteredBarChart, clusteredColumnChart, lineChart, pieChart, tableEx, slicer, textbox, … |
--name |
string |
No | Internal visual name (default: a generated 20-hex id) |
--title |
string |
No | Visual title text |
--text |
string |
No | Text content (for a textbox visual) |
--category |
string |
No | Category / axis / legend field (Table.Column) |
--measure |
string |
No | Value field(s), repeatable: Table.Column (auto-Sum), Sum(Table.Column), Avg/Min/Max/Count/CountNonNull(…), or Measure(Table.Name) |
--x |
string |
No | X position (default 40) |
--y |
string |
No | Y position (default 40) |
--width |
string |
No | Width (default 400) |
--height |
string |
No | Height (default 300) |
Mutates state · Destructive · Returns object
delete-visual
Section titled “delete-visual”Delete a visual from a page of a PBIR report by editing its definition. Overwrites the definition (irreversible) — dry-run guarded
fabio report delete-visual --workspace <value> --id <value> --page <value> --name <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--id |
string |
Yes | Report ID |
--page |
string |
Yes | Page name containing the visual |
--name |
string |
Yes | Visual name to delete |
Mutates state · Destructive · Returns void
scaffold
Section titled “scaffold”Scaffold a complete PBIR report from a compact JSON spec (pages + visuals) and create it — or write the PBIR folder to disk with –out
fabio report scaffold --workspace <value> --name <value> --spec <value> --dataset <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID |
--name |
string |
Yes | Report display name (when creating) |
--spec |
string |
Yes | Report spec JSON (inline, or @file, or @- for stdin) |
--dataset |
string |
Yes | Dataset / semantic model ID to bind the report to |
--description |
string |
No | Optional description (when creating) |
--out |
string |
No | Write the PBIR folder to this directory instead of creating the report |
Mutates state · Destructive · Returns object
publish-to-web
Section titled “publish-to-web”Publish a report to the web (generates a publicly accessible embed URL)
fabio report publish-to-web --workspace <value> --id <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID (Power BI group ID) |
--id |
string |
Yes | Report ID |
Mutates state · Returns object
export
Section titled “export”Export (render) the Power BI report to a file (PDF, PPTX, PNG)
fabio report export --workspace <value> --id <value> --out <value>| Flag | Type | Required | Description |
|---|---|---|---|
--workspace |
string |
Yes | Workspace ID (Power BI group ID) |
--id |
string |
Yes | Report ID |
--format |
string |
No | Output file format (PDF, PPTX, PNG) |
--out |
string |
Yes | Destination file path to write the exported report to |
--timeout |
string |
No | Maximum seconds to wait for the export job to complete |
Read-only · Long-running operation · Returns object
