Skip to main content
The Auth primitive operates on a fullstack app’s Supabase project. Auth configuration uses the Management API (via the apps Supabase proxy); admin user management uses GoTrue (/auth/v1/admin) with the service-role key. App-scoped, on both the company mount and per-user mount; the kit must enable the auth primitive on per-user mounts.
Admin user operations use the project service-role key — privileged. Disable the auth primitive in an Account Kit to keep agents away from end-user accounts.

Endpoints

MethodPathDescription
GET / PATCH/v1/apps/:id/supabase/proxy/v1/projects/{ref}/config/authRead / update auth config (Management API)
ANY/v1/apps/:id/auth/proxy/*GoTrue passthrough (/auth/v1/*, incl. /admin/users)
# Auth config
curl "https://api.usenaive.ai/v1/apps/<app-id>/supabase/proxy/v1/projects/<ref>/config/auth" \
  -H "Authorization: Bearer nv_sk_live_..."

# Admin: list users
curl https://api.usenaive.ai/v1/apps/<app-id>/auth/proxy/admin/users \
  -H "Authorization: Bearer nv_sk_live_..."

# Admin: create user
curl -X POST https://api.usenaive.ai/v1/apps/<app-id>/auth/proxy/admin/users \
  -H "Authorization: Bearer nv_sk_live_..." -H "Content-Type: application/json" \
  -d '{"email":"user@example.com","password":"...","email_confirm":true}'

SDK

await naive.auth.updateConfig({ site_url: "https://myapp.com" });
await naive.forUser(userId).auth.users.create({ email: "u@example.com", password: "..." });
See the Auth guide and the auth sub-client.