WhosOn 10 OData API (Data API)
Overview
The WhosOn 10 OData API provides a read-only way to access your WhosOn chat data (primarily the chat archive) over HTTP, using the industry-standard OData protocol.
You can use this API to:
- Build custom reports and dashboards
- Connect WhosOn to Power BI, Excel, Tableau, and similar tools
- Run ad-hoc queries directly against your chat history
The OData API is currently implemented around the Chats table in the WhosOn 10 archive database.
Note: OData access is intend for for dedicated / on-premise WhosOn 10 servers. It is not exposed on shared environments.
Prerequisites
To use the WhosOn 10 OData API, you will need:
- A WhosOn 10 dedicated or on-premise server where the WhosOn Data (OData) component has been installed.
- Network access to the OData service URL (usually HTTPS).
- An API key configured on the WhosOn server (see "Authentication").
- A client that can consume OData (web browser, Power BI, Excel, custom app, etc).
The OData service runs as a separate component.
Data Types
Chats entity
The initial version of the API exposes a single entity set:
Chats-- Represents individual chat transcripts from the WhosOn 10 archive database.
Each record in Chats corresponds to a single chat session. The columns exposed match the columns in your WhosOn 10 archive database's Chats table (timestamps, operator information, site details, transcript text, etc.).
Service URL and endpoints
Base URL
The OData service is typically hosted on your WhosOn 10 server under an /odata path. Example:
https://your-whoson-server/odata
Main entity endpoint:
https://your-whoson-server/odata/Chats
Metadata document
https://your-whoson-server/odata/$metadata
This document lists available entities and properties.
Authentication
API key
Access uses a server-generated API key, passed as api_key in the query string:
https://your-whoson-server/odata/Chats?api_key=YOUR_API_KEY
Keep this key secure. Your API key can either match your WhosOn Authentication String, or a new key can be specified on the server using the "ODataAPIKey" value under HKLM\Software\ParkerSoft\WhosOn\10\Settings
Basic OData usage
Simple queries
Get the first 100 chats:
GET https://your-whoson-server/odata/Chats?api_key=YOUR_API_KEY&$top=100
Filter by operator:
GET https://your-whoson-server/odata/Chats?api_key=YOUR_API_KEY&$filter=TakenByUser eq 'Marc'
Supported query options include $top, $skip, $filter, $orderby, and $select.
Filtering is restricted to indexed columns to maintain performance.
Using the OData API with Power BI
The API works with Power BI using the same steps as WhosOn 2019:
- Power BI Desktop → Get Data → OData Feed
- Enter URL including
api_key - Choose Anonymous
- Select Chats and load or transform
Using the OData API with Excel
Excel → Data → Get Data → From OData Feed\
Enter the URL including the API key, choose Anonymous, and load the Chats table.
Installation & configuration notes (for admins)
- The OData service is deployed as a dedicated component.
- Connection strings for archive and server databases are stored in service configuration.
-
On Windows, the API key and settings may be stored under:
HKLM\Software\ParkerSoft\WhosOn\10\Settings
Troubleshooting
1. Connection refused or 404
Ensure the OData service is installed, running, and the correct URL/path is used.
2. 401 / Unauthorized
Check the api_key parameter is present and correct.
3. Filtering errors
Ensure filters only target supported/indexed columns.
Summary
- WhosOn 10 exposes a read-only OData API for analytics against the chat archive.
- Protected via API key passed as
api_key. - Fully compatible with standard OData tools such as Power BI and Excel.