---
title: "Get System Broadcast Recipients"
method: GET
path: "/api/system-broadcast/recipients"
tags: ["System Broadcast"]
---

# Get System Broadcast Recipients

`GET /api/system-broadcast/recipients`

How many people a WhatsApp notification would actually reach.

{"active_users": int, "with_whatsapp": int, "window_days": 30}

"Active" is Z_Users.last_seen_at — stamped by app/auth.py on every
authenticated request (debounced to once per 10 minutes per user) and
already the system's answer to "is this person still using StandGest", per
the inactive-user lifecycle cron. There is no last-login column and no
sessions table; see app/db/system_broadcasts.py::list_active_user_contacts.

`with_whatsapp` counts REACHABLE numbers, not stored ones: it runs the same
to_e164 + mobile check the send does, so the number shown before pressing
Enviar is the number that gets queued. Read-only, and degrades to zeros
rather than erroring — a count that cannot be produced must not block the
announcement.

## 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/recipients/get.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/447243444af4?raw)
