---
title: "Ops-notification hourly ceiling — parsed limit + current window usage"
method: GET
path: "/api/v1/admin/notification-budget"
tags: ["admin"]
---

# Ops-notification hourly ceiling — parsed limit + current window usage

`GET /api/v1/admin/notification-budget`

## Request

- Base URL: `https://api.badgeia.com`
- URL: `https://api.badgeia.com/api/v1/admin/notification-budget`
- Auth: none declared

Return the live state of every global ops-notification ceiling.

Diagnostic for the PR #519 finding-2 ceilings. The limits are env-tunable
and prod has no shell access, so without an HTTP view of the *parsed* values
a missed CD env-render hop would be invisible until a flood either went
through or silently didn't. Also reports which backend is in play:
``redis`` means the ceilings are genuinely global; ``memory`` means Redis is
unreachable and they have degraded to per-worker.

Counts only — no lead addresses, nothing PII-bearing. Read-only: calling
this never charges the budget.

Shape:
    {
      "enterprise_lead": {
        "channel": "enterprise_lead", "backend": "redis",
        "windows": {
          "hour": {"limit": 10, "window_seconds": 3600, "used": 3,
                   "remaining": 7, "reset_seconds": 1840,
                   "digest_sent": false},
          "day":  {"limit": 20, "window_seconds": 86400, ...}
        }
      }
    }

## Response `200`

Successful Response

- object

---

[API](https://skmtc.dev/badgeia/apis/badge.md) · [All operations](https://skmtc.dev/badgeia/apis/badge/llms.txt) · [OpenAPI document](https://skmtc.dev/badgeia/apis/badge/revisions/7e7f7fee8b77?raw)
