---
title: "Per-user blocked-request tally"
method: GET
path: "/admin/billing/rejections"
tags: ["Billing"]
---

# Per-user blocked-request tally

`GET /admin/billing/rejections`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/admin/billing/rejections`
- Auth: API key in header `x-api-key`

Admin-only endpoint returning the per-user tally of pre-handler billing rejections (HTTP 402 quota / 429 rate-limit) for a UTC day, ranked by count. These blocks never reach the request-usage index or the billing-events log, so this is the only per-user view of who is being throttled or has hit their cap — use it to spot a capped client retry-looping. Defaults to today (UTC); tallies are retained for 48h.

## Query parameters

- `date` string
- `reason` 'daily_credit_limit' | 'insufficient_credits' | 'rate_limited' | 'ip_rate_limited'
- `limit` integer

## Headers

- `x-api-key` string, required

## Response `200`

Per-user rejection tally

- BillingAdminRejectionsResponseDoc
  - `code` integer
  - `data` BillingAdminRejectionsDataDoc
    - `blocked_users` integer
    - `date` string
    - `total_rejections` integer
    - `users` BillingRejectionUserDoc[]
      - `by_reason` object
      - `total` integer
      - `user_id` string
  - `msg` string

## Other responses

- `400`: Invalid query parameters
- `401`: Authentication required
- `403`: Admin plan required
- `500`: Internal server error

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
