Skip to content

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:

  1. Power BI Desktop → Get DataOData Feed
  2. Enter URL including api_key
  3. Choose Anonymous
  4. 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.