---
title: "List Users"
method: GET
path: "/api/v1/admin/users"
tags: ["admin"]
---

# List Users

`GET /api/v1/admin/users`

## Request

- Base URL: `https://api.peil.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.peil.app/api/v1/admin/users`
- Auth: OAuth 2 (password, token URL `/api/v1/auth/jwt/login`)

Paginated fleet list with the abuse-triage signals inline.

Before this carried signals, the deck listed only the ten most recent
signups and triage meant clicking into each account for its country and
shared-address count — unworkable against a wave. Every signal shown here is
also on the per-account detail; this just brings them to the list so the
operator can see and sort the whole fleet at once.

The score is computed over the *whole* fleet (so `spam_desc` and the total
are honest) before the page is sliced. Fine at this scale; revisit with a
windowed query if the user table ever runs to five figures.

## Query parameters

- `limit` integer
- `offset` integer
- `sort` string
- `flagged_only` boolean

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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