Introduction
This guide explains how to connect SMOWL monitoring data directly with Microsoft Power BI to create custom dashboards. The integration uses the SMOWL Results API v2 through Power BI's web connector with Basic Auth authentication.
1. Prerequisites
Before you begin, you will need the following:
Base API Endpoint:
https://results-api.smowltech.net/index.php/v2/Entity Name: Your institution's identifier (e.g.
ESSMOWL)API Key: Your private access token
⚠️ Important: Do not confuse the API endpoint with the management portal my.smowltech.net, which is a separate web interface and is not compatible with this integration.
2. (Recommended) Verify credentials with Postman before configuring Power BI
Before configuring Power BI we recommend verifying that your credentials work correctly using Postman or another HTTP client:
Open Postman and create a new GET request.
In the URL field, enter, for example: https://results-api.smowltech.net/index.php/v2/registers/status/all
Go to the Authorization tab and select Basic Auth.
Enter your Entity Name as the username and your API Key as the password.
Click Send. If you receive a JSON response with data, your credentials are correct, and you can continue with Power BI.
If you receive a 401 error at this step, verify the Entity Name and API Key before proceeding.
3. Configuration in Power BI Desktop
Go to Home > Get Data > Web
Select Advanced
In the URL field, enter the endpoint:
https://results-api.smowltech.net/index.php/v2/registers/status/all
Click OK
4. Authentication (Basic Auth)
When Power BI prompts for credentials:
Select the authentication type Basic
Username: Enter your Entity Name
Password: Enter your API Key
Click Connect
💡 Technical note: If it fails after previous attempts, Power BI may have cached credentials. Reset them via File > Options and settings > Data source settings.
5. Data Transformation (Power Query)
Once the connection is established, the data will arrive in JSON format:
Click Transform data
In the Power Query Editor, click Convert to table
Expand the records column and select the required fields (e.g.
studentName,examName,incidentType,incidentDate)
Sample M Language Code (Advanced Editor)
If you prefer to configure the query directly from the Advanced Editor, you can use this base snippet. Replace YOUR_ENTITY and YOUR_API_KEY with your actual credentials:
let
authKey = "Basic " & Binary.ToText(Text.ToBinary("YOUR_ENTITY:YOUR_API_KEY"), BinaryEncoding.Base64),
response = Web.Contents(apiUrl, [Headers=[Authorization=authKey]]),
json = Json.Document(response),
data = json[data],
table = Table.FromList(data, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
table
6. Common Errors and Solutions
Error 404 – Not Found
Most common cause: Incorrect URL
✅ Correct:
https://results-api.smowltech.net/index.php/v2/registers/status/all❌ Incorrect:
https://results-api.smowltech.net/api/v1/incidents❌ Incorrect:
https://my.smowltech.net/index.php/Registers
Error 401 – Unauthorized
Verify that:
You are using the Entity Name (not your email) as the username
The API Key is correct and contains no extra spaces
You have selected Basic Authentication, not "Anonymous" or "Windows"
If the issue persists, reset the data source credentials
Error 500 – Internal Server Error
If the error persists after verifying your authentication correctly, open a support ticket including the full query log so the technical team can investigate.
Validation Checklist
☐ Does the endpoint URL include
/index.php/v2/(not/api/v1/)?☐ Have you used the Entity Name as the username and the API Key as the password in Basic Auth?
☐ Have you verified your credentials in Postman before configuring Power BI?
☐ Is the data displaying correctly in the Power Query Editor before loading it into the model?
Need Further Help?
For questions about available endpoints or specific fields, consult the API documentation portal or contact our support team via chat.




