---
title: "Admin Declined Stats"
method: GET
path: "/v1/admin/declined/stats"
---

# Admin Declined Stats

`GET /v1/admin/declined/stats`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/admin/declined/stats`
- Auth: none declared

Headline counters for the /admin/declined dashboard. Mirrors the
/v1/admin/listeners/stats shape so the frontend can reuse the same
Stat card pattern.

Counts:
  - ``total`` — every publisher with decline_class non-null OR
    do_not_contact=true. Same predicate as the list endpoint above.
  - ``by_class`` — per-class breakdown ({REMOVE, DECLINED,
    UNSUBSCRIBE, COPYRIGHT_QUESTION, OTHER}).
  - ``copyright_review_pending`` — COPYRIGHT_QUESTION rows that
    still have do_not_contact=false (the operator hasn't manually
    decided yet).

## Headers

- `x-storyflo-email-token` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
