---
title: "Ack System Broadcast"
method: POST
path: "/api/system-broadcast/{broadcast_id}/ack"
tags: ["System Broadcast"]
---

# Ack System Broadcast

`POST /api/system-broadcast/{broadcast_id}/ack`

Record "Li e compreendi" for the current user. Any authenticated user.

Idempotent: a double-click, a retried request and a second tab all leave
exactly one receipt (enforced by UX_Z_SystemBroadcastAcks_pair, not by a
read-then-write that would race).

Always 200. `recorded: false` means the receipt did not stick — the acks
table is not migrated, or the caller has no resolvable user identity — and
the announcement will simply be offered again next login. Seeing a message
twice is the correct failure; never showing it is not, and neither is
blocking the dialog's close button on a database write.

NOTE this is deliberately NOT system_admin-gated and NOT in
platform_paths.py: it is an ordinary user acting for themselves, and its
audit row belongs to their tenant.

## Path parameters

- `broadcast_id` integer, required

## Headers

- `x-api-token` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-26** `b65cead3236b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/multigest/apis/multigest-protected-api/changes/api/system-broadcast/:broadcast_id/ack/post.md)

---

[API](https://skmtc.dev/multigest/apis/multigest-protected-api.md) · [All operations](https://skmtc.dev/multigest/apis/multigest-protected-api/llms.txt) · [OpenAPI document](https://skmtc.dev/multigest/apis/multigest-protected-api/revisions/0cba7caaeb78?raw)
