---
title: "Notification Tier Census"
method: POST
path: "/api/scheduled-notifications/admin/notification-tier-census"
tags: ["scheduled-notifications"]
---

# Notification Tier Census

`POST /api/scheduled-notifications/admin/notification-tier-census`

How many notification-eligible users fall into each taper tier.

Answers "what would happen if I turned tapering on", and with the query
parameters, "what would happen at these thresholds instead" — so a threshold
change can be costed before it is made rather than discovered afterwards.

DO NOT PUT THIS ON A CRON. Measured against production it takes ~90 seconds
and sequentially scans daily_quests, because the activity expression is not
indexable. It is deliberately on demand and deliberately not part of the
nightly scheduling job. Expect it to be slow when you call it.

Reports tiers regardless of whether NOTIFICATION_TAPER_ENABLED is set.

Requires x-api-key header for authentication.

## Query parameters

- `throttle_after_days` integer, nullable — Override the configured throttle threshold
- `pause_after_days` integer, nullable — Override the configured pause threshold

## Headers

- `x-api-key` string, required

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-12** `b08b4440adc5` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/usecreed/apis/creed-api/changes/api/scheduled-notifications/admin/notification-tier-census/post.md)

---

[API](https://skmtc.dev/usecreed/apis/creed-api.md) · [All operations](https://skmtc.dev/usecreed/apis/creed-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecreed/apis/creed-api/revisions/21f5c6ea721e?raw)
