Skip to main content
GET
/
v1
/
admin
/
users
Search self-serve users
import requests

url = "https://api.13-215-85-171.sslip.io/v1/admin/users"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
[
  {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "email": "jsmith@example.com",
    "tier": "<string>",
    "quota_tier_id": "<string>",
    "is_operator": true,
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "name": "<string>",
    "display_name": "<string>",
    "avatar_url": "<string>",
    "email_verified_at": "2023-11-07T05:31:56Z",
    "soft_deleted_at": "2023-11-07T05:31:56Z",
    "delete_scheduled_at": "2023-11-07T05:31:56Z",
    "abuse_flags": {}
  }
]

Authorizations

Authorization
string
header
required

Supabase Auth access token passed as Bearer token

Query Parameters

query
string

Email fragment or exact user UUID.

limit
integer
default:25
Required range: 1 <= x <= 50

Response

Matching account rows

id
string<uuid>
required
email
string<email>
required
tier
string
required
quota_tier_id
string
required
is_operator
boolean
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
name
string | null
display_name
string | null
avatar_url
string | null
email_verified_at
string<date-time> | null
soft_deleted_at
string<date-time> | null
delete_scheduled_at
string<date-time> | null
abuse_flags
object

Server-accumulated abuse-detection flags (for example signup_ip, signup_ip_cluster, flagged_at). Key set evolves with detection heuristics; deliberately open.