Power BI Integration
Connect Microsoft Power BI to live TATER compliance data. Build custom dashboards, executive scorecards, and multi-week trend reports using the TATER compliance data endpoint.
Overview
TATER exposes a dedicated flat-data endpoint at GET /api/reports/powerbi that returns denormalized JSON tables designed for direct import into Power BI, Excel, or any BI tool that supports web data sources. No transformation, no nested objects — just rows you can use.
The endpoint supports five datasets selectable via the dataset query parameter:
| Dataset | Contents | Key fields |
|---|---|---|
controls | One row per control per scan type (latest scan per type) | controlId, title, application, scanType, status, isOverride, daysUntilOverrideExpiry |
scans | Scan history with pass/fail KPIs | scanId, scanDate, scanType, hostname, passCount, failCount, complianceRate |
risks | Risk register entries | riskId, title, category, likelihood, impact, riskScore, status, owner |
overrides | All risk acceptances | overrideId, controlId, type, expiryDate, daysUntilExpiry, isExpired |
overview | Single aggregate summary row | complianceRate, passCount, failCount, openRiskCount, activeOverrideCount, lastScanDate |
all | All five datasets in one response | Returns a keyed object: {"controls":[…],"scans":[…],…} |
Connect Power BI Desktop
The quickest path is the Web connector in Power BI Desktop. Each dataset is a separate query.
Step 1 — Get your API key
In TATER, go to Settings → API Keys and create or copy an existing key. Keep it handy — you will paste it as a custom HTTP header.
Step 2 — Add a Web data source
- In Power BI Desktop, click Home → Get Data → Web.
- Select Advanced.
- In the URL field, enter the endpoint for the dataset you want:
https://api.tatersecurity.com/api/reports/powerbi?dataset=controls - Under HTTP request header parameters, add:
Header:x-api-key| Value: your-api-key - If you have multiple organizations, add a second header:
Header:x-organization-id| Value: org-xxxxxxxx - Click OK. Power Query will load the JSON array.
- In the Power Query editor, click To Table, then expand the Record column to get individual columns.
- Click Close & Apply.
scans, risks, overrides, overview) so you have separate tables to relate in your data model.
Step 3 — Build relationships
The datasets share common fields for building relationships:
- controls ↔ overrides:
controls.controlId = overrides.controlId - controls ↔ scans:
controls.scanId = scans.scanId
Step 4 — Schedule refresh
Publish your report to Power BI Service. In the dataset settings, configure a Scheduled Refresh. TATER caches the response for 60 seconds, so daily or hourly refresh schedules work without triggering rate limits.
Store your API key as a data source credential in Power BI Service under Data source credentials → Edit credentials → Anonymous → Advanced → Add header.
Connect Excel / Microsoft Fabric
The same Web connector approach works in Excel (Data → From Web) and Microsoft Fabric (Dataflow Gen2 → New source → Web API). Use the same URL and API key header.
Query Parameters Reference
| Parameter | Values | Default | Notes |
|---|---|---|---|
dataset | controls, scans, risks, overrides, overview, all | all | Single-dataset requests return a flat array; all returns a keyed object |
status | Pass, Fail, Manual, Skip, Error | — | Filter controls by status. Controls dataset only. |
application | Any compliance zone name | — | Filter controls by application. Controls dataset only. |
limit | 1–100 | 30 | Max scans to return. Scans dataset only. |
Example URLs
# All datasets
https://api.tatersecurity.com/api/reports/powerbi
# Controls only
https://api.tatersecurity.com/api/reports/powerbi?dataset=controls
# Failing controls only
https://api.tatersecurity.com/api/reports/powerbi?dataset=controls&status=Fail
# Last 90 scans
https://api.tatersecurity.com/api/reports/powerbi?dataset=scans&limit=90
# Overview summary row
https://api.tatersecurity.com/api/reports/powerbi?dataset=overview
Authentication
The endpoint supports two authentication methods:
- API key (recommended for BI tools): Pass your API key in the
x-api-keyrequest header. Includex-organization-idto scope to a specific org. - JWT Bearer token: Pass a valid TATER JWT in the
Authorization: Bearer <token>header. Requires Auditor role or higher.
Related Guides
- Power Automate Integration — Automate compliance workflows with the TATER custom connector
- Reports Guide — Built-in reports, CSV export, and the Trust Center
- Settings Reference — API key management and SIEM/webhook configuration
TATER