---
title: "Rate-limiter latency p50/p95/p99 per category (v0.1.37 Redis RCA diagnostic)"
method: GET
path: "/api/v1/admin/rate-limit-latency"
tags: ["admin"]
---

# Rate-limiter latency p50/p95/p99 per category (v0.1.37 Redis RCA diagnostic)

`GET /api/v1/admin/rate-limit-latency`

## Request

- Base URL: `https://api.badgeia.com`
- URL: `https://api.badgeia.com/api/v1/admin/rate-limit-latency`
- Auth: none declared

Return a snapshot of Redis-check latency per category.

Per-category ring buffers hold the last 500 successful check
latencies. Failed checks (TimeoutError → fail-open) are NOT
included — they're tracked separately via the Sentry counter.

Operator use:
    - Verify the 100ms wait_for budget is sufficient. p99 should
      sit well under 100ms; if p99 creeps toward the ceiling,
      time for another tuning pass.
    - Spot a regression after a Redis/Hetzner config change.

Shape:
    {
      "auth": {"count": 423, "p50_ms": 1.2, "p95_ms": 4.8, "p99_ms": 12.3, "max_ms": 41.0},
      "read": {...},
      "write": {...},
      "daemon": {...},
    }
    Returns an empty dict when no checks have run yet.

## 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)
