Skip to content

Create Your First Admin

This guide walks through the first-admin bootstrap flow in a local Seamless Auth stack.

The goal is simple: create an initial admin invite, complete the registration flow with that email, and verify access to the admin dashboard.


Make sure:

  • your local stack is running
  • you have already gone through the first-user flow once
  • you can access the web app at http://localhost:5173

The first admin flow is intentionally separate from normal role management.

That bootstrap path exists so you can create the initial operator account without manually editing the database.


Run:

Terminal window
npx seamless-cli bootstrap-admin admin001@test.com

The CLI will:

  • resolve the bootstrap secret from local project files when possible
  • call the auth API bootstrap route
  • print a registration URL when available

The invited email should match the account you want to become the first admin.


Open the generated registration URL and finish the same kind of registration flow you used for your first user.

Use the same email address you passed to bootstrap-admin.

Once registration completes:

  • the user is granted the admin role
  • future sessions for that user include admin access

After successful registration, the session should include the admin role.

{
"roles": ["admin"]
}
Admin session with role attached
Admin users have the admin role attached to their session

Navigate to:

http://localhost:5174

You should be able to reach the admin dashboard.

Seamless Admin portal
Admin dashboard overview

  • you created the first admin bootstrap invite
  • registration completed with the invited email
  • the resulting user received the admin role
  • the dashboard became accessible through normal auth state