Power BI Service API
Power BI Service API Interview with follow-up questions
1. Can you explain what the Power BI Service API is and how it is used?
The Power BI REST API is a set of RESTful HTTP endpoints that allow developers to programmatically manage and interact with Power BI resources in the Power BI Service. As of 2026, it coexists with the broader Microsoft Fabric REST API, which extends management capabilities across the full Fabric platform including Lakehouse, Warehouse, Notebooks, and Pipelines.
What can be managed via the API
Semantic models (formerly called datasets): trigger refresh, update connection strings, manage parameters, list tables and measures, get refresh history.
Reports: clone, export to PDF/PPTX/PNG, generate embed tokens, retrieve metadata.
Dashboards and tiles: create, update, clone, add tiles.
Workspaces: create workspaces, manage membership, assign to capacity, list contents.
Dataflows: trigger refresh, list, retrieve metadata.
Apps: publish and update Power BI apps.
Capacities: assign and unassign workspaces (admin endpoints).
Gateways: manage gateway data sources and credentials.
Common use cases
Automated refresh triggers — rather than relying on fixed scheduled refresh windows, call the refresh API after an upstream pipeline completes. This creates an event-driven pattern: ETL finishes → API call triggers semantic model refresh → report data is current within minutes of the source update.
Programmatic report export — use the Export Report API to render a report page to PDF or PPTX on a schedule and distribute it via email. Exports support filter overrides, so the same report can be rendered with different filter values for different recipients.
Embedding — generate short-lived embed tokens for "embed for your customers" (app-owns-data) or use a user's access token for "embed for your organization" (user-owns-data) scenarios. The token is passed to the powerbi-client JavaScript library to render the report inside a web application.
Workspace provisioning and tenant management — automate the creation of workspaces, assignment of users and groups, and deployment of reports as part of onboarding new teams or clients.
Monitoring and governance — use the Admin API endpoints to enumerate all workspaces, semantic models, and reports across the tenant, track refresh history, identify failures, and audit capacity usage without manually browsing the Power BI Service.
Authentication
All API calls require an OAuth 2.0 access token issued by Microsoft Entra ID (formerly Azure Active Directory). The token must carry appropriate Power BI service scopes such as Dataset.ReadWrite.All or Report.Read.All. For automated and server-side scenarios, service principals using the client credentials grant are the recommended authentication approach.
Fabric REST API
Beginning in 2024, Microsoft introduced Fabric-specific REST endpoints at https://api.fabric.microsoft.com/v1/... for managing Fabric items such as Lakehouses, Warehouses, Notebooks, and Pipelines. Power BI resources in Fabric-enabled workspaces can be managed through either the classic Power BI API or the Fabric API. The Fabric API is the forward-looking surface for new capabilities and cross-platform management, while the Power BI API remains fully supported for existing integrations.
Follow-up 1
Can you provide an example of a scenario where you would use the Power BI Service API?
One example of a scenario where the Power BI Service API can be used is in automating the creation and management of Power BI content. For instance, a company may have a process where they need to regularly update and publish reports based on data from different sources. By using the Power BI Service API, developers can create a script or application that retrieves data from these sources, transforms it, and then automatically creates or updates the corresponding datasets, reports, and dashboards in Power BI. This helps streamline the reporting process and ensures that the latest data is always available in Power BI.
Follow-up 2
What are some of the key features of the Power BI Service API?
Some of the key features of the Power BI Service API include:
- CRUD operations: The API allows developers to create, read, update, and delete resources such as dashboards, reports, datasets, and more.
- Embedding: The API provides functionality to embed Power BI content, such as reports and dashboards, into custom applications or websites.
- Authentication and authorization: The API supports different authentication methods, including Azure Active Directory, to ensure secure access to Power BI resources.
- Querying and filtering: The API allows developers to query and filter data within datasets, enabling them to retrieve specific data subsets for analysis or visualization.
- Notifications and alerts: The API provides functionality to set up notifications and alerts for events such as data refresh failures or report updates, allowing developers to proactively monitor and manage Power BI content.
Follow-up 3
How does the Power BI Service API help in overcoming the limitations of Power BI?
The Power BI Service API helps in overcoming the limitations of Power BI by providing programmatic access to the Power BI service. This allows developers to extend the functionality of Power BI and automate tasks that would otherwise require manual intervention. For example, the API enables developers to automate the creation and management of Power BI content, integrate Power BI with other applications and systems, and implement custom workflows and processes. By leveraging the Power BI Service API, developers can overcome limitations such as manual data updates, limited integration options, and lack of customization, and create more powerful and tailored solutions using Power BI.
2. What are the steps to authenticate and authorize a Power BI Service API?
Authentication to the Power BI REST API uses Microsoft Entra ID (formerly Azure Active Directory) OAuth 2.0. There are two primary authentication scenarios depending on whether the caller is a human user or an automated process.
Scenario 1: Delegated authentication (user context)
Used for interactive applications where a signed-in user's identity and permissions drive what data they can access.
- Register an application in the Microsoft Entra admin center. Note the Application (client) ID and tenant ID.
- Under API permissions, add Power BI Service delegated permissions appropriate to the intended operations — for example,
Dataset.Read.All,Report.ReadWrite.All. Grant admin consent for the tenant if the permissions require it. - Configure a redirect URI for the OAuth authorization code flow.
- When a user signs in, redirect them to the Entra authorization endpoint. The user authenticates with their Microsoft credentials and consents to the requested permissions.
- Your application receives an authorization code, then exchanges it for an access token by posting to the Entra token endpoint:
POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token - Include the access token in the
Authorization: Bearer {token}header on all requests tohttps://api.powerbi.com/v1.0/myorg/....
The token expires (typically after one hour); use the refresh token to obtain a new access token without requiring the user to re-authenticate.
Scenario 2: Service principal authentication (app context)
Recommended for automation, CI/CD pipelines, and any server-side process where no human user is present.
- Register an app in the Entra admin center. Create a client secret or, preferably, a certificate (certificates are more secure for production scenarios). Note the client ID.
- In the Power BI tenant admin settings (powerbi.com/admin), enable "Allow service principals to use Power BI APIs". You can restrict this to a specific Entra security group for tighter control.
- Add the service principal as a Member or Admin on the relevant Power BI workspace. Service principals cannot be added as workspace admins from the UI in all tenants — this is sometimes done via the API itself.
- Request a token using the client credentials grant:
POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token Body: grant_type=client_credentials client_id={client_id} client_secret={client_secret} scope=https://analysis.windows.net/powerbi/api/.default - Use the returned access token in all API calls exactly as in the delegated scenario.
Service principal tokens do not expire with a user session; the client credentials grant issues a new token on each call, making it suitable for long-running or unattended automation.
Microsoft Authentication Library (MSAL)
Both scenarios are simplest to implement using the MSAL SDK, available for .NET, Python, JavaScript, Java, and other languages. MSAL handles token acquisition, caching, and silent refresh automatically, so application code only needs to call acquire_token_for_client() (service principal) or acquire_token_interactive() (delegated) and pass the result to the API.
Fabric REST API
The same Entra ID tokens work for Fabric REST API calls at https://api.fabric.microsoft.com/v1/.... The scope for Fabric API authentication is https://api.fabric.microsoft.com/.default instead of the Power BI-specific scope above.
Follow-up 1
What are the different authentication methods supported by Power BI Service API?
Power BI Service API supports the following authentication methods:
- Azure Active Directory (AAD) authentication: This is the recommended method for authenticating and authorizing API requests. It uses OAuth 2.0 and requires registering your application in AAD.
- App-only authentication: This method allows your application to authenticate without a user context. It is useful for scenarios where you need to access Power BI resources without user interaction.
For more information on these authentication methods, you can refer to the official Power BI documentation.
Follow-up 2
Can you explain the role of Azure Active Directory in the authentication process?
Azure Active Directory (AAD) plays a crucial role in the authentication process of Power BI Service API. It acts as the identity provider and handles the authentication and authorization of API requests.
When you register your application in AAD, you obtain a client ID and client secret, which are used to authenticate your application. AAD issues access tokens that are used to authenticate API requests. These access tokens contain information about the client, the requested scopes, and other relevant details.
AAD also provides a centralized location for managing user accounts, roles, and permissions. It allows you to control access to Power BI resources and enforce security policies.
In summary, AAD acts as the trusted authority for authenticating and authorizing API requests in the Power BI Service.
Follow-up 3
What are the potential security risks and how can they be mitigated?
There are several potential security risks when using the Power BI Service API, and it is important to take appropriate measures to mitigate them. Some of the common security risks include:
- Unauthorized access: Ensure that only authorized applications and users have access to the API by properly configuring authentication and authorization mechanisms.
- Insecure storage of credentials: Safely store client secrets and other sensitive information to prevent unauthorized access.
- Cross-site scripting (XSS) attacks: Implement proper input validation and output encoding to prevent XSS attacks.
- Cross-site request forgery (CSRF) attacks: Use anti-forgery tokens and implement proper validation to prevent CSRF attacks.
To mitigate these risks, follow security best practices such as using secure protocols (HTTPS), regularly updating and patching your application, implementing strong authentication mechanisms, and regularly monitoring and auditing your API usage.
For more detailed guidance on security best practices, you can refer to the official Power BI documentation.
3. How can you use the Power BI Service API to automate report generation?
"Report generation" via the Power BI Service API covers two distinct problems: keeping the underlying data current (refresh) and producing a rendered output file (export). Both are achievable through the REST API and are commonly combined in automated pipelines.
1. Triggering semantic model refresh
Use the refresh endpoint to pull new data into a semantic model on demand, outside any scheduled refresh window:
POST https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/refreshes
Authorization: Bearer {token}
Content-Type: application/json
Body: { "notifyOption": "MailOnFailure" }
This call is typically made from an orchestration layer — Azure Data Factory, a Fabric Pipeline activity, Azure Logic Apps, or a custom script — immediately after upstream data processing completes. This creates an event-driven refresh pattern: data lands in the source → pipeline triggers the refresh API → the semantic model is updated within minutes, rather than waiting for the next scheduled window.
Monitor refresh completion by polling:
GET https://api.powerbi.com/v1.0/myorg/datasets/{datasetId}/refreshes
Each refresh entry returns a status field: Completed, Failed, or Unknown (in progress). Poll until status is no longer Unknown before proceeding to export.
2. Exporting reports to PDF, PPTX, or PNG
The Export Report API renders a report to a file format asynchronously:
POST https://api.powerbi.com/v1.0/myorg/reports/{reportId}/ExportTo
Body: {
"format": "PDF",
"powerBIReportConfiguration": {
"pages": [{ "pageName": "ReportSection1" }]
}
}
The response returns an exportId. Poll the status endpoint until the export succeeds:
GET https://api.powerbi.com/v1.0/myorg/reports/{reportId}/exports/{exportId}
When status is Succeeded, the response includes a download URL. Retrieve the file with a GET to that URL.
Parameterized exports with filter overrides
The export request body accepts reportLevelFilters, allowing the same report to be exported with different filter values per recipient. This enables a single automated job to produce personalized PDF outputs — for example, one export per regional sales manager filtered to their territory — without maintaining separate reports.
3. Paginated Report export
Paginated Reports (available in Premium, PPU, or Fabric capacity) use the same ExportTo endpoint with format: "PDF" or "XLSX". The key difference is that paginated reports accept parameter values in the request body, enabling pixel-perfect, multi-page documents driven by dynamic inputs — useful for invoices, statements, or regulatory filings.
4. End-to-end automation pipeline
A typical production pattern:
- ETL completes — Fabric Pipeline or Azure Data Factory finishes loading fresh data into a Lakehouse or data warehouse.
- Trigger refresh — a pipeline activity or webhook calls
POST /datasets/{datasetId}/refreshes. - Poll for completion — check
GET /datasets/{datasetId}/refreshesin a loop (with a delay between polls) until the latest refresh showsCompleted. - Export report — call
POST /reports/{reportId}/ExportTowith the desired format and any filter overrides. - Poll for export — check
GET /reports/{reportId}/exports/{exportId}untilSucceeded. - Distribute — download the rendered file and send it via Power Automate, Azure Logic Apps, SendGrid, or another email service.
This pattern decouples report delivery from fixed schedules, ensures recipients always receive data that reflects the latest completed ETL run, and requires no manual intervention once configured.
Follow-up 1
Can you describe a situation where automating report generation would be beneficial?
Automating report generation can be beneficial in various scenarios. For example, in a sales organization, you can automate the generation of sales reports on a daily or weekly basis, providing up-to-date insights to the sales team. This can help them track their performance, identify trends, and make data-driven decisions. Similarly, in a finance department, automating the generation of financial reports can save time and ensure accuracy in reporting financial metrics.
Follow-up 2
What are the steps to automate report generation using Power BI Service API?
To automate report generation using Power BI Service API, you can follow these steps:
- Authenticate with Power BI Service API using Azure Active Directory (AAD) authentication.
- Create or update the dataset in Power BI Service that will be used as the data source for the report.
- Create or update the report in Power BI Service, connecting it to the dataset.
- Configure the report layout, including visuals, filters, and interactions.
- Schedule the report to be refreshed at specific intervals using the Power BI Service API.
By automating these steps, you can generate reports programmatically and ensure that they are always up-to-date with the latest data.
Follow-up 3
What are the limitations of automating report generation using Power BI Service API?
While automating report generation using Power BI Service API provides flexibility and efficiency, there are some limitations to be aware of:
- Power BI Service API has rate limits, which restrict the number of API calls you can make within a certain time period. Exceeding these limits can result in throttling or temporary suspension of API access.
- The Power BI Service API does not support all features available in the Power BI desktop application. Some advanced visualizations or interactions may not be available when generating reports programmatically.
- Automating report generation requires programming skills and knowledge of the Power BI Service API. It may not be suitable for users without technical expertise.
Despite these limitations, automating report generation using Power BI Service API can still provide significant benefits in terms of time savings and data accuracy.
4. Can you describe how to use the Power BI Service API to embed Power BI reports in an application?
Power BI embedding is built on the Power BI Embedded platform, combining the REST API (for authentication and token generation) with the powerbi-client JavaScript library (available as vanilla JS and as React/Angular wrappers) to render reports inside a web application. There are two distinct embedding scenarios with different authentication models, and choosing the wrong one is a common mistake.
Scenario A: Embed for your organization (user-owns-data)
This scenario is for internal applications where every viewer has their own Microsoft or Power BI account.
- Register an application in Microsoft Entra ID with delegated Power BI permissions.
- The user signs in with their own credentials through the MSAL OAuth authorization code flow.
- Use the user's access token to call
GET /reports/{reportId}and retrieve theembedUrl. - Pass the
embedUrland the user's access token directly to the powerbi-client library — no separate embed token is needed. - The report renders under the user's own identity. Row-level security roles defined in the semantic model apply automatically based on the user's account.
This scenario requires no special capacity licensing for the embedding itself, but every viewer must have a Power BI Pro or PPU license.
Scenario B: Embed for your customers (app-owns-data)
This scenario is for ISVs and external-facing applications where end users do not have Power BI accounts or licenses.
- Register an app in Entra ID. Create a service principal (preferred) or a master user account.
- Enable service principal access in the Power BI tenant admin settings and add the service principal to the workspace as a Member or Admin.
- Authenticate the service principal using the client credentials grant to obtain an access token.
- Call the GenerateToken API to create a short-lived embed token scoped to the specific report and dataset:
POST https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports/{reportId}/GenerateToken Body: { "accessLevel": "View" }To enforce row-level security for the viewer, include anidentitiesarray in the request body with the username and the RLS role name. The embed token bakes the RLS context in — the viewer sees only their data without needing a Power BI account. - Retrieve the
embedUrlfromGET /groups/{groupId}/reports/{reportId}. - Initialize the embedded report using the powerbi-client library:
const config = {
type: 'report',
id: reportId,
embedUrl: embedUrl,
accessToken: embedToken,
tokenType: models.TokenType.Embed,
settings: {
filterPaneEnabled: false,
navContentPaneEnabled: false
}
};
const report = powerbi.embed(containerElement, config);
- Handle token expiry in the application — embed tokens are short-lived (default one hour). Implement a
tokenExpiredevent listener to silently obtain a new embed token and callreport.setAccessToken(newToken)without re-rendering the report.
Licensing for Scenario B
Embedding for customers (app-owns-data) requires the workspace to be assigned to a capacity — either a Power BI Embedded A-SKU (Azure, billed per-hour when active) or a Fabric F-SKU. Without a capacity assignment, the GenerateToken API returns an error. P-SKUs also work but are monthly commitments. For development and testing, the A1 SKU can be paused when not in use to reduce cost.
Programmatic interaction after embedding
The powerbi-client library exposes the embedded report as a JavaScript object that supports:
- Applying filters —
report.setFilters([...])to programmatically filter data without showing the filter pane to users - Changing pages —
report.setPage('pageName')to navigate to a specific report page - Capturing events — listen for
pageChanged,dataSelected,rendered, orerrorevents to drive application behavior based on user interaction - Exporting —
report.print()or triggering the Export API from the server side for PDF output
This makes Power BI embedding a first-class component in web applications, not merely an iframe with a static view.
Follow-up 1
What are the prerequisites for embedding Power BI reports?
Before you can embed Power BI reports in an application, you need to meet the following prerequisites:
You must have a Power BI Pro or Power BI Premium license.
You need to register your application in Azure Active Directory (AAD) and obtain the client ID and client secret.
Your application must support OAuth 2.0 authentication.
You should have the necessary permissions to access and embed the Power BI reports.
Once you have fulfilled these prerequisites, you can proceed with embedding Power BI reports in your application.
Follow-up 2
What are the benefits of embedding Power BI reports in an application?
Embedding Power BI reports in an application offers several benefits:
Seamless integration: Embedding Power BI reports allows you to seamlessly integrate data visualizations into your application, providing a consistent user experience.
Real-time data: Embedded reports can display real-time data, ensuring that users always have access to the most up-to-date information.
Interactive visualizations: Power BI reports offer interactive visualizations, allowing users to explore and analyze data in a more engaging way.
Collaboration: Embedded reports can be shared and collaborated on, enabling users to work together on data analysis and decision-making.
By embedding Power BI reports in your application, you can enhance its functionality and provide valuable insights to your users.
Follow-up 3
Can you explain the process of embedding a Power BI report in a web application?
To embed a Power BI report in a web application, you can follow these steps:
Register your application in Azure Active Directory (AAD) and obtain the client ID and client secret.
Authenticate your application using OAuth 2.0 and obtain an access token.
Use the access token to call the Power BI Service API and retrieve the embed URL and access token for the report you want to embed.
Use the Power BI JavaScript API to embed the report in your web application by specifying the embed URL and access token.
Customize the embedded report by using the JavaScript API to set filters, apply visualizations, and interact with the report.
Handle events and user interactions with the embedded report using the JavaScript API.
By following these steps, you can successfully embed a Power BI report in your web application and provide your users with interactive data visualizations.
5. What are the different types of operations that can be performed using the Power BI Service API?
The Power BI REST API (and the broader Microsoft Fabric REST API) supports a wide range of operation categories:
Semantic model (dataset) operations
- List semantic models in a workspace
- Get semantic model details (tables, columns, relationships, data sources)
- Trigger a refresh (
POST /datasets/{id}/refreshes) - Get refresh history and status (monitor for completion or failure)
- Update parameters (e.g., change a database connection string)
- Bind a semantic model to a gateway data source
- Manage row-level security (RLS) roles and members
Report operations
- List, get, clone, and delete reports
- Export a report to PDF, PPTX, or PNG (async export API with polling)
- Clone a report to another workspace
- Rebind a report to a different semantic model
- Get embed URL for embedding in applications
- Update report content (via import of a .pbix file)
Dashboard and tile operations
- Create, update, clone, and delete dashboards
- Add tiles (from reports or custom HTML)
- Get tile embed URLs
Workspace (group) operations
- Create, update, and delete workspaces
- Add and remove workspace members and set their access roles
- Assign a workspace to a Premium or Fabric capacity
- List all workspaces across the tenant (Admin API)
Dataflow operations
- List, get, and trigger refresh of dataflows
- Get and update dataflow transactions
- Export dataflow definitions
App operations
- Publish and update Power BI apps
- Get apps available to the calling user
- Get reports and dashboards within an app
Gateway and data source operations
- List gateways and their data sources
- Add data sources to a gateway
- Update credentials for a data source
- Test gateway connectivity
Capacity operations (Admin)
- List capacities and their workspaces
- Assign or unassign workspaces from capacities
- Get capacity refreshables (items currently refreshing)
Embed token operations
POST /GenerateToken— generate an embed token for a specific report/dashboardPOST /EmbedToken/GenerateToken— batch embed token for multiple reports/datasets in one call (more efficient for multi-report embedding scenarios)
Admin / tenant-wide operations
- Get all workspaces across the tenant (with audit information)
- Get all reports, datasets, and dashboards across the tenant
- Get activity events (audit log) for governance and monitoring
- Manage tenant settings programmatically
Fabric-specific operations (Fabric REST API)
With Microsoft Fabric's broader REST API (api.fabric.microsoft.com), additional operations are available:
- Manage Lakehouse items (create, delete, list tables)
- Trigger Spark Notebook executions
- Manage Data Factory pipelines (create, trigger, monitor)
- Manage Fabric capacity and SKU assignments
- Git integration: commit/update workspace items to a connected git repository
The Power BI Admin APIs and Fabric APIs together form the basis of enterprise-scale governance automation — used for tenant-wide reporting on content sprawl, capacity utilization tracking, and compliance auditing.
Follow-up 1
Can you explain how to perform CRUD operations on Power BI datasets using the API?
To perform CRUD operations on Power BI datasets using the API, you can use the following endpoints:
- Create dataset: You can create a new dataset by making a POST request to the datasets endpoint.
- Update dataset: You can update an existing dataset by making a PATCH request to the dataset endpoint.
- Delete dataset: You can delete a dataset by making a DELETE request to the dataset endpoint.
- Refresh dataset: You can refresh the data in a dataset by making a POST request to the refreshes endpoint.
Here is an example of how to create a dataset using the API:
import requests
url = 'https://api.powerbi.com/v1.0/myorg/datasets'
headers = {'Authorization': 'Bearer '}
data = {
'name': 'Sales Dataset',
'tables': [
{
'name': 'Sales',
'columns': [
{'name': 'Date', 'dataType': 'DateTime'},
{'name': 'Amount', 'dataType': 'Double'},
{'name': 'Product', 'dataType': 'String'}
]
}
]
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 201:
print('Dataset created successfully')
else:
print('Failed to create dataset')
Follow-up 2
How can you use the API to manage dashboards and tiles?
To manage dashboards and tiles using the API, you can use the following endpoints:
- Create dashboard: You can create a new dashboard by making a POST request to the dashboards endpoint.
- Update dashboard: You can update an existing dashboard by making a PATCH request to the dashboard endpoint.
- Delete dashboard: You can delete a dashboard by making a DELETE request to the dashboard endpoint.
- Create tile: You can create a new tile on a dashboard by making a POST request to the tiles endpoint.
- Update tile: You can update an existing tile by making a PATCH request to the tile endpoint.
- Delete tile: You can delete a tile by making a DELETE request to the tile endpoint.
Here is an example of how to create a dashboard using the API:
import requests
url = 'https://api.powerbi.com/v1.0/myorg/dashboards'
headers = {'Authorization': 'Bearer '}
data = {
'displayName': 'Sales Dashboard',
'defaultTileSize': 'Medium'
}
response = requests.post(url, headers=headers, json=data)
if response.status_code == 201:
print('Dashboard created successfully')
else:
print('Failed to create dashboard')
Follow-up 3
What are the challenges you might face while performing operations with the Power BI Service API and how would you overcome them?
Some challenges you might face while performing operations with the Power BI Service API include:
- Authentication and authorization: You need to ensure that you have the necessary permissions and access tokens to perform the desired operations. You can overcome this challenge by properly configuring the authentication and authorization settings.
- Rate limits: The API has rate limits to prevent abuse. If you exceed the rate limits, you may encounter errors. To overcome this, you can implement rate limit handling and retry mechanisms.
- Error handling: The API may return errors in various scenarios. You should handle these errors gracefully and provide appropriate feedback to the user.
- API changes and versioning: The API may evolve over time, and new versions may introduce breaking changes. You should stay updated with the API documentation and adapt your code accordingly.
By addressing these challenges, you can ensure smooth and reliable operations with the Power BI Service API.
Live mock interview
Mock interview: Power BI Service API
- Read your scene and goals
- Talk it out; goals tick off live
- Get a score and stronger lines
Your voice and your AI key never touch our servers; the key stays in this browser and is sent only to Google. Only your round scores are saved to track progress.