Power BI · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Power BI REST Groups API

13 actions 13 updates phrasing extends openapi/power-bi-groups-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Power BI's API. It is a proposal applied on top of the contract, not a document Power BI publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 13

$.info
$.paths['/groups'].get
$.paths['/groups'].post
$.paths['/groups/{groupId}'].delete
$.paths['/groups/{groupId}/users'].get
$.paths['/groups/{groupId}/users'].post
$.paths['/groups/{groupId}/users/{userId}'].put
$.paths['/groups/{groupId}/users/{userId}'].delete
$.paths['/groups/{groupId}/datasets'].get
$.paths['/groups/{groupId}/reports'].get
$.paths['/groups/{groupId}/dashboards'].get
$.paths['/groups/{groupId}/imports'].get
$.paths['/groups/{groupId}/imports'].post

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Power BI REST Groups API
  version: 1.0.0
extends: openapi/power-bi-groups-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 12
- target: $.paths['/groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List workspaces I can access
      effect: read
      questions:
      - Which Power BI workspaces do I have access to?
      - Can I filter workspaces by name or page through a long list?
      - Which of my workspaces run on a dedicated capacity?
      instructions:
      - text: List all my workspaces.
      - text: List workspaces matching {filter}.
        slots:
          filter: query.$filter
      - text: Show the first {top} workspaces, skipping {skip}.
        slots:
          top: query.$top
          skip: query.$skip
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a workspace
      effect: write
      questions:
      - How do I create a new workspace for my team?
      - Can I set up a fresh workspace just by giving it a name?
      instructions:
      - text: Create a workspace named {name}.
        slots:
          name: requestBody.name
      - text: Set up a new team workspace called {name}.
        slots:
          name: requestBody.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{groupId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a workspace
      effect: destructive
      questions:
      - How do I delete a workspace I no longer need?
      - Does deleting a workspace permanently remove its reports, dashboards and datasets?
      instructions:
      - text: Delete workspace {groupId}.
        slots:
          groupId: path.groupId
      - text: Permanently remove workspace {groupId} and everything in it.
        slots:
          groupId: path.groupId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{groupId}/users'].get
  update:
    x-apievangelist-phrasing:
      intent: List a workspace's members
      effect: read
      questions:
      - Who has access to a particular workspace?
      - What access rights does each member of a workspace have?
      instructions:
      - text: List the users of workspace {groupId}.
        slots:
          groupId: path.groupId
      - text: Show who can access workspace {groupId} and their roles.
        slots:
          groupId: path.groupId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{groupId}/users'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a user to a workspace
      effect: write
      questions:
      - How do I give a colleague access to a workspace?
      - Can I add someone to a workspace as a Viewer instead of a Member?
      instructions:
      - text: Add {emailAddress} to workspace {groupId} as {groupUserAccessRight}.
        slots:
          emailAddress: requestBody.emailAddress
          groupId: path.groupId
          groupUserAccessRight: requestBody.groupUserAccessRight
      - text: Give {emailAddress} {groupUserAccessRight} rights in the {groupId} workspace.
        slots:
          emailAddress: requestBody.emailAddress
          groupId: path.groupId
          groupUserAccessRight: requestBody.groupUserAccessRight
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{groupId}/users/{userId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a workspace member's access right
      effect: write
      questions:
      - How do I promote an existing workspace member from Contributor to Admin?
      - Can I change the role of someone already in a workspace?
      instructions:
      - text: Change {userId} ({emailAddress}) in workspace {groupId} to {groupUserAccessRight}.
        slots:
          userId: path.userId
          groupId: path.groupId
          groupUserAccessRight: requestBody.groupUserAccessRight
          emailAddress: requestBody.emailAddress
      - text: Update existing member {emailAddress} in workspace {groupId} to access right {groupUserAccessRight}, user ID {userId}.
        slots:
          emailAddress: requestBody.emailAddress
          groupId: path.groupId
          groupUserAccessRight: requestBody.groupUserAccessRight
          userId: path.userId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{groupId}/users/{userId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a user from a workspace
      effect: destructive
      questions:
      - How do I revoke someone's access to a workspace?
      - Can I remove a former teammate from a workspace?
      instructions:
      - text: Remove {userId} from workspace {groupId}.
        slots:
          userId: path.userId
          groupId: path.groupId
      - text: Revoke all of {userId}'s access to workspace {groupId}.
        slots:
          userId: path.userId
          groupId: path.groupId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{groupId}/datasets'].get
  update:
    x-apievangelist-phrasing:
      intent: List datasets in a workspace
      effect: read
      questions:
      - Which datasets are in a shared team workspace?
      - Can I list datasets for a workspace other than My Workspace?
      instructions:
      - text: List the datasets in workspace {groupId}.
        slots:
          groupId: path.groupId
      - text: Show all datasets inside the {groupId} workspace.
        slots:
          groupId: path.groupId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{groupId}/reports'].get
  update:
    x-apievangelist-phrasing:
      intent: List reports in a workspace
      effect: read
      questions:
      - Which reports are in a shared team workspace?
      - Can I get embed info for every report in one workspace?
      instructions:
      - text: List the reports in workspace {groupId}.
        slots:
          groupId: path.groupId
      - text: Show all reports inside the {groupId} workspace.
        slots:
          groupId: path.groupId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{groupId}/dashboards'].get
  update:
    x-apievangelist-phrasing:
      intent: List dashboards in a workspace
      effect: read
      questions:
      - Which dashboards live in a shared workspace rather than My Workspace?
      - Can I list the dashboards of one team workspace?
      instructions:
      - text: List the dashboards in workspace {groupId}.
        slots:
          groupId: path.groupId
      - text: Show all dashboards inside the {groupId} workspace.
        slots:
          groupId: path.groupId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{groupId}/imports'].get
  update:
    x-apievangelist-phrasing:
      intent: List imports in a workspace
      effect: read
      questions:
      - Did my PBIX upload to a workspace finish importing?
      - What content has been imported into a workspace, and with what status?
      instructions:
      - text: List the imports in workspace {groupId}.
        slots:
          groupId: path.groupId
      - text: Show the status of recent imports into workspace {groupId}.
        slots:
          groupId: path.groupId
      method: generated
      generated: '2026-10-01'
- target: $.paths['/groups/{groupId}/imports'].post
  update:
    x-apievangelist-phrasing:
      intent: Import a PBIX or Excel file into a workspace
      effect: write
      questions:
      - How do I upload a PBIX file into a workspace?
      - Can I import an Excel workbook and decide what happens if the dataset name already exists?
      instructions:
      - text: Import {file} into workspace {groupId} as dataset {datasetDisplayName}.
        slots:
          file: requestBody.file
          groupId: path.groupId
          datasetDisplayName: query.datasetDisplayName
      - text: Upload {file} to workspace {groupId} named {datasetDisplayName}, using {nameConflict} on a name clash.
        slots:
          file: requestBody.file
          groupId: path.groupId
          datasetDisplayName: query.datasetDisplayName
          nameConflict: query.nameConflict
      method: generated
      generated: '2026-10-01'