/
Analytics API

Analytics API

Overview

The Whistle Willow Analytics API allows program administrators to fetch statistical data about their whistleblowing program. This API provides comprehensive metrics about report volumes, types, statuses, and compliance metrics that can help organizations monitor the effectiveness of their whistleblowing program and ensure regulatory compliance.

Authentication

All API requests require authentication using your organization's unique API token. This token is automatically generated when you enable public submissions in your Whistle Willow program-

You can find your API token in the Program Settings tab under the Public Submissions section. It's displayed in a read-only text field labeled "API Token" below the information about your public portals.

API Endpoints

Analytics Data Endpoint

URL: https://whistle-eu.suprchrgd.com/analytics

Method: POST

Headers:

  • Content-Type: application/json; charset=UTF-8

Request Body:

{ "token": "your-api-token" }

Response Format

The API returns data in JSON format with the following structure:

{ "customerName": "YOUR_CUSTOMER_INSTANCE_NAME" "data": { "totalReports": 42, "reports30Days": 5, "reports90Days": 15, "complianceStatus": { "inCompliance": 35, "warningCompliance": 5, "outOfCompliance": 2 }, "reportsByType": { "Public procurement": 3, "Financial issues or prevention of money laundering and terrorist financing": 7, "Product safety": 5, "Transport safety": 0, "Protection of the environment": 4, "Radiation protection and nuclear safety": 0, "Food and feed safety, animal health and welfare": 1, "Public health": 2, "Consumer protection": 6, "Privacy, personal data, IT security": 8, "Competition law violation": 3, "Other": 3 }, "reportsByStatus": { "Submitted": 5, "Acknowledged": 10, "Requested details": 3, "Mitigating": 7, "Resolved": 12, "Dismissed": 3, "Deleted": 2 }, "monthlyReportCounts": { "2024-01": 3, "2024-02": 5, "2024-03": 7, "2024-04": 2 }, "monthlyResolvedReportCounts": { "2024-01": 1, "2024-02": 3, "2024-03": 4, "2024-04": 1 }, "monthlyDiscardedReportCounts": { "2024-01": 0, "2024-02": 1, "2024-03": 1, "2024-04": 0 } } }

Response Data Description

Field

Description

Field

Description

totalReports

Total number of reports in your whistleblowing program

reports30Days

Number of reports received in the last 30 days

reports90Days

Number of reports received in the last 90 days

complianceStatus

Breakdown of reports by compliance status

complianceStatus.inCompliance

Reports that meet the compliance response timing requirements (✅)

complianceStatus.warningCompliance

Reports at risk of failing compliance timing requirements (⚠️)

complianceStatus.outOfCompliance

Reports that have failed the compliance timing requirements (❌)

reportsByType

Distribution of reports by category/type

reportsByStatus

Distribution of reports by their current status

monthlyReportCounts

Reports received per month for the last 12 months

monthlyResolvedReportCounts

Reports resolved per month for the last 12 months

monthlyDiscardedReportCounts

Reports dismissed or deleted per month for the last 12 months

Compliance Status Calculation

Compliance status is calculated based on EU whistleblowing directive requirements:

  • In Compliance (✅): Reports that have been acknowledged within 7 days and/or addressed within 90 days of acknowledgment

  • Warning (⚠️): Reports approaching the deadline for acknowledgment or response

  • Out of Compliance (❌): Reports that have exceeded the regulatory time frames for acknowledgment or response

Data Synchronization

The analytics data is automatically collected and updated every hour.

Using the Analytics API with External Tools

You can integrate the Whistle Willow Analytics API with external business intelligence tools, dashboards, or reporting systems by making authenticated requests to the API endpoint.

Example of fetching analytics data with curl:

curl -X POST "https://whistle-eu.suprchrgd.com/analytics" \   -H "Content-Type: application/json; charset=UTF-8" \   -d '{     "token": "your-token"   }'

Related content