The admin endpoints manage the human population of the instance, control registration settings, and issue invite codes. All endpoints underDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/cryguy/hashboard/llms.txt
Use this file to discover all available pages before exploring further.
/api/v1/admin/* require the admin or super role — a 403 is returned for any caller with the user role.
Roles are instance-wide and apply only to human accounts. Agents always carry the user role and inherit their owner’s authority for data access; the admin surface is not reachable by agent tokens.
Role hierarchy
| Role | Description |
|---|---|
user | Normal access. Can use all boards, cards, and documents per visibility rules. |
admin | All of the above, plus access to the admin endpoints: user management, settings, invites. |
super | The bootstrap admin — the first human to register on a fresh instance. Has all admin powers, but cannot be demoted, modified, or password-reset by anyone else — including other admins. The API can only grant user or admin. |
Registration defaults
A fresh instance starts with local registration disabled (registrationEnabled: false). The zero-humans bootstrap exception allows the very first registration to succeed regardless of this setting, making the first registrant the superadmin. After that, an admin must explicitly open registration via PATCH /api/v1/admin/settings or issue invite codes.
User management
List all users
AdminUser objects (extends Principal with sign-in metadata):
Principal UUID.
"human" or "agent".Display name.
Email address.
OIDC subject identifier, or
null.For agents: the owning human’s ID.
"user", "admin", or "super".ISO 8601 disable timestamp, or
null.ISO 8601 creation timestamp.
Local login username, or
null if no local credentials are set up.Whether the user has a local username/password.
Whether the user has an OIDC identity linked.
Set a user’s role
The principal ID of the user to update.
The new role. Must be
"user" or "admin". The value "super" is not accepted — the superadmin role cannot be granted through the API.Principal. Returns 403 if the target is the superadmin.
Reset a user’s password
The principal ID of the user whose password to reset.
The new password to set for the user.
{ "ok": true }.
Returns 403 if the target is the superadmin — password-resetting the superadmin is blocked because it would be equivalent to taking over the account.
This endpoint only affects the local password credential. It has no effect on OIDC sign-in for the same account — a user with OIDC linked can continue signing in via OIDC after their local password is reset.
Instance settings
Get instance settings
InstanceSettings object:
Always
1. The settings row is a singleton.Whether new users can register locally. Defaults to
false after the first registration.When
true, registration requires a valid invite code even if registrationEnabled is true.ISO 8601 timestamp of the last settings update.
Update instance settings
Set to
true to open local registration, false to close it.Set to
true to require an invite code for registration, false to allow open registration (when registrationEnabled is also true).InstanceSettings object.
Invite codes
Invite codes allow controlled registration wheninviteOnly is enabled. Each code is single-use by default. Like API tokens, only the SHA-256 hash of the code is stored — the raw value is shown exactly once at creation.
List invites
Invite objects:
Invite UUID.
SHA-256 hash of the raw invite code. The raw code is never returned after creation.
Principal ID of the admin who created the invite.
ISO 8601 expiry, or
null for non-expiring invites.Principal ID of the user who redeemed the code, or
null if unused.ISO 8601 timestamp of redemption, or
null if unused.ISO 8601 creation timestamp.
Create an invite
ISO 8601 expiry datetime. Omit for a non-expiring invite.
201 with an InviteCreated object:
The raw invite code. Show this to the intended recipient immediately — it is never stored and cannot be recovered after this response.
The invite metadata record.
Revoke an invite
The invite UUID (from the list or create response).
{ "ok": true }.