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

# List Users

`GET /api/admin/users`

## Request

- Base URL: `https://api.equity-rank.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.equity-rank.com/api/admin/users`
- Auth: HTTP bearer

Returns all Supabase auth users with accurate last-active time.

auth.users.last_sign_in_at only updates on new session creation (explicit login).
Users who stay logged in via persistent JWT never trigger that update, so the
column appears stale.  Fix: JOIN auth.sessions and return
GREATEST(last_sign_in_at, MAX(sessions.updated_at)) — sessions.updated_at is
bumped on every token refresh, giving true last-activity.

Primary path: Supabase Management API (has access to auth schema).
Fallback: auth admin SDK (last_sign_in_at only — may be stale).

## Response `200`

Successful Response

- object

---

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