---
title: "Whistleblowing Channel Clock Checker"
method: POST
path: "/v1/tools/compute_whistleblowing_channel_clock"
tags: ["whistleblowing", "eu 2019/1937", "acknowledgement deadline", "follow-up due date", "compliance", "date arithmetic", "ai act art 87", "zero network", "zero-PII"]
---

# Whistleblowing Channel Clock Checker

`POST /v1/tools/compute_whistleblowing_channel_clock`

## Request

- Base URL: `https://ainumbers.co`
- URL: `https://ainumbers.co/v1/tools/compute_whistleblowing_channel_clock`
- Auth: none declared

Pure calendar-clock arithmetic for a whistleblowing channel over caller-declared synthetic inputs. Checks the declared acknowledgement date against the 7-calendar-day acknowledgement deadline of Directive (EU) 2019/1937 Art 9(1)(b), and computes the follow-up due date as receipt plus a caller-declared whole-day basis (the spec pins the declared basis at 90 days, the Directive's Art 9(1)(f) three-month ceiling as declared days). Pure integer civil-day arithmetic -- no Date object, no runtime clock. No report register, no case feed, no network.

**Tool URL:** https://ainumbers.co/tools/677-whistleblowing-channel-clock.html
**AP2/Policy Mandate export:** yes

## Request body

- object
  - `report_received` string, required: declared report receipt date, YYYY-MM-DD
  - `ack_sent` string, required: declared acknowledgement date, YYYY-MM-DD
  - `followup_basis_days` number, required: declared follow-up basis in whole civil days

## Response `200`

Successful tool execution result

- object
  - `ack_days` integer, nullable: Civil days from report receipt to acknowledgement; null on the fail-closed path.
  - `ack_within_7` boolean, nullable: True when ack_days <= 7 (Dir 2019/1937 Art 9(1)(b)); null on the fail-closed path.
  - `followup_due` string, nullable: Follow-up due date, receipt + basis civil days, YYYY-MM-DD; null on the fail-closed path.
  - `trace` string: The two clock clauses, or the fail-closed reasons naming each rejected input.
  - `overall` string: CLOCKS_COMPLIANT, ACK_WINDOW_BREACHED, or INPUT_REFUSED on the fail-closed path.

---

[API](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite.md) · [All operations](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/llms.txt) · [OpenAPI document](https://skmtc.dev/ainumbers/apis/ainumbers-co-fintech-intelligence-suite/revisions/b462e4f5bb28?raw)
