The Users system in Skillset controls who can access your Registry and what they are allowed to do. Every person is identified by their email address — two logins that assert the same address are the same User regardless of which Identity Provider vouched for them. This page covers how to create Users, assign and change roles, remove Users, and how Users manage their own profiles.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/org-quicko/skillset/llms.txt
Use this file to discover all available pages before exploring further.
Roles
Roles are cumulative — each level includes all the permissions of the one below it.| Role | Browse catalog | Publish resources | Manage readers & writers | Manage admins |
|---|---|---|---|---|
| reader | ✓ | — | — | — |
| writer | ✓ | ✓ | — | — |
| admin | ✓ | ✓ | ✓ | — |
| superadmin | ✓ | ✓ | ✓ | ✓ |
Browsing and reading the catalog requires no authentication at all — catalog reads are fully public. Roles govern publishing, administration, and anything that changes Registry state.
The Superadmin
The Superadmin is the first User to complete signup after a Registry is deployed. There is exactly one Superadmin per Registry, and the role is permanent — it can never be transferred, reassigned, or removed. The Superadmin can do everything an Admin can, and additionally create and manage Admins.Creating Users
Admins and the Superadmin can create new Users from Settings → Users → New User, or via the API.Fill in the details
Provide the new User’s first name, last name, email address, and role. The role must be one of
reader, writer, or admin — superadmin cannot be assigned here.Share the generated password
On success, the response includes a one-time
initial_password. This value is shown once and never stored — copy it and share it with the new User through a secure channel.API
The User’s first name. Must be at least one non-whitespace character.
The User’s last name. Must be at least one non-whitespace character.
The User’s email address. Must be unique in the Registry — this is the identity. Cannot be changed after creation.
One of
reader, writer, or admin. The superadmin role cannot be assigned via this endpoint.Changing a User’s Role
Admins can change the role of any User except the Superadmin. The change takes effect on the target User’s next request — the role is re-read from the database on every request and is never cached in a session or Token. From the web interface, go to Settings → Users, find the User, and select a new role from the role picker.API
An Admin cannot change their own role through this endpoint — returns
422. The Superadmin’s role cannot be changed by anyone — returns 409.Removing Users
Admins can remove any User except the Superadmin. Removing a User ends their access immediately — all their sessions are invalidated and their Tokens are deleted. Resources they published remain in the catalog; the published-by snapshot on each Resource is preserved even after the account is gone. From the web interface, go to Settings → Users, open the User’s record, and click Remove User.API
204 No Content. Attempting to remove yourself returns 422. Attempting to remove the Superadmin returns 409.
User Profile and Password
Every User can update their own name and change their own password from Settings → Profile, or via the API.- Update name
- Change password
first_name, last_name, or both. At least one field is required.The email address is the identity of a User in Skillset and cannot be changed — not even by an Admin.
The User’s current password. Must match what is stored — returns
422 with field current_password if it does not.The replacement password. Must be at least 12 characters.
SSO and Automatic Account Creation
When a User signs in via a configured Identity Provider (Google Workspace, Microsoft Entra, or GitHub OAuth) for the first time, areader account is created automatically using the email address that the Identity Provider asserted. The new User can be promoted to writer or admin by an Admin after their first login.
An Identity Provider and a Git Integration are separate registrations — a GitHub Identity Provider for login and a GitHub Integration for Import are configured and managed independently, and neither knows about the other.
API Reference
| Method | Path | Role required | Description |
|---|---|---|---|
GET | /api/users | admin | List all Users, paginated (50 per page, newest first) |
POST | /api/users | admin | Create a User with a generated initial password |
GET | /api/users/me | any authenticated | Get the current User’s profile |
PATCH | /api/users/me | any authenticated | Update own first or last name |
PUT | /api/users/me/password | any authenticated | Change own password |
GET | /api/users/me/tokens | any authenticated | List own Tokens, newest first |
POST | /api/users/me/tokens | any authenticated | Mint a new Token |
DELETE | /api/users/me/tokens/:token_id | any authenticated | Delete a Token |
PATCH | /api/users/:user_id | admin | Change another User’s role |
DELETE | /api/users/:user_id | admin | Remove a User |